#764
Unrated
무작위 트리 생성
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

함수 randint(l,r)\text{randint}(l, r)[l,r][l, r] 범위 내의 정수 중 하나를 독립적이고 균등하게 무작위로 선택하여 반환한다고 하자.

소원이는 다음 두 단계를 거쳐 정점 번호가 11부터 NN (2N21052 \le N \le 2 \cdot 10^5)까지인 무작위 라벨이 붙은 트리를 생성한다.

  1. 정점 번호가 11부터 NN까지인 NN개의 정점으로 시작한다. ii22부터 NN까지 변화시키며, 정점 iirandint(1,i1)\text{randint}(1, i-1) 사이를 잇는 간선을 추가한다.
  2. {1,2,,N}\{1, 2, \ldots, N\}의 순열 p1,p2,,pNp_1, p_2, \dots, p_N을 균등한 확률로 무작위하게 하나 선택한다. 모든 정점 vv의 번호를 pvp_v로 바꾼다.

지훈이는 최종적으로 생성된 트리의 간선 집합을 보고, 위 과정을 통해 정확히 이 간선 집합을 가진 트리가 생성되었을 확률을 알고 싶어 한다. 이 확률을 109+710^9+7로 나눈 나머지를 구하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT (1T101 \le T \le 10)가 주어진다. 각 테스트 케이스는 다음과 같이 구성된다.

각 테스트 케이스의 첫째 줄에 정점의 개수 NN이 주어진다.

다음 N1N-1개의 줄에 트리의 간선을 나타내는 두 정수 uuvv가 공백으로 구분되어 주어진다. (1u,vN1 \le u, v \le N)

주어지는 간선들은 항상 트리를 이룸이 보장된다. 또한, 모든 테스트 케이스에 대한 NN의 합은 51055 \cdot 10^5을 초과하지 않는다.

출력

각 테스트 케이스마다 구하고자 하는 확률을 109+710^9+7로 나눈 나머지를 한 줄에 하나씩 출력한다. (확률은 기약분수로 나타낼 수 있으며, 109+710^9+7에 대한 모듈러 역원을 이용하여 정수 형태로 출력한다.)

예제 입력 1

4
2
2 1
3
1 2
2 3
4
1 2
2 3
2 4
4
1 2
2 3
3 4

예제 출력 1

1
333333336
83333334
55555556

제한

  • 서브태스크 1: N8N \le 8
  • 서브태스크 2: N2000N \le 2000
  • 서브태스크 3: 추가적인 제약 조건이 없다.
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.