#P6277. [USACO20OPEN] Circus P

[USACO20OPEN] Circus P

题目描述

Farmer John 马戏团中的 NN 头奶牛正在为即将到来的演出做准备。演出全部在一棵节点编号为 1N1\ldots N 的树上举行。演出的“初始状态”被定义为一个整数 KK1KN1\leq K\leq N)使得奶牛 1K1\ldots K 分布在树上的节点上,并且没有任何两头牛位于相同的节点。

在一场演出中,奶牛们可以“移动”任意次数。在一次“移动”中,一头奶牛可以从自己当前所处的节点移动到一个未被占据的相邻节点。如果一个状态可以通过一系列移动到达另一个状态,我们就称这两个初始状态是等价的。

对于每一个 1KN1\leq K\leq N,你需要帮助奶牛确定有多少类等价的初始状态。即选出最多的起始状态数目,使得它们两两不等价。由于数字可能很大,所以只需输出答案 mod 109+7\bmod \ 10^9+7 的结果。

输入格式

第一行一个整数 NN

接下来的 N1N-1 行,每行两个整数 ai,bia_i,b_i,表示树中有一条连接 aia_ibib_i 的边。

输出格式

输出共 NN 行,对于每一个 1iN1\leq i\leq N,在第 ii 行输出 K=iK=i 时的答案 mod 109+7\bmod \ 10^9+7 的结果。

5
1 2
2 3
3 4
3 5
1
1
3
24
120
8
1 3
2 3
3 4
4 5
5 6
6 7
6 8
1
1
1
6
30
180
5040
40320

提示

样例 11 解释:

对于 K=1K=1K=2K=2,任何两个状态都可以互相到达。

然后考虑 K=3K=3,令 cic_i 表示奶牛 ii 的位置,则状态 (c1,c2,c3)=(1,2,3)(c_1,c_2,c_3)=(1,2,3) 等价于状态 (1,2,5)(1,2,5)(1,3,2)(1,3,2),但不等价于状态 (2,1,3)(2,1,3)


对于 100%100\% 的数据,保证 1N1051 \le N \le 10^5

2020 个测试点,其中 121\sim 2 为样例,其余性质如下:

对于测试点 343 \sim 4,满足 N8N \leq 8
对于测试点 575 \sim 7,满足 N16N \leq 16
对于测试点 8108 \sim 10,满足 N100N \leq 100,且这个树为“星形”,最多有一个度数大于 22 的节点。
对于测试点 111511 \sim 15,满足 N100N \leq 100
对于测试点 162016 \sim 20,无特殊限制。


出题人:Dhruv Rohatgi