#ATagc066e. [AGC066E] Sliding Puzzle On Tree

[AGC066E] Sliding Puzzle On Tree

题目描述

给定一棵有 NN 个顶点的树,顶点编号为 11NN。树的第 ii 条边连接顶点 uiu_i 和顶点 viv_i

对于 K=1,2,,NK=1,2,\ldots,N,请解决以下问题:

KK 个编号为 1,2,,K1,2,\ldots,K 的石子,第 ii 个石子初始放在顶点 ii。你可以重复进行如下操作:

  • 选择一条连接顶点 uuvv 的树边,且 uu 上有石子而 vv 上没有石子。将 uu 上的石子移动到 vv 上。

求所有可能的石子最终分布方案数,答案对 998244353998244353 取模。注意,如果某个编号的石子所在顶点不同,则认为是不同的分布方案。

给定 TT 组测试数据,请分别输出每组的答案。

输入格式

输入以如下格式从标准输入读入:

TT
case1\text{case}_1
\vdots
caseT\text{case}_T

每组测试数据格式如下:

NN
u1u_1 v1v_1
\vdots
uN1u_{N-1} vN1v_{N-1}

输出格式

请输出 TT 行,每行对应一组测试数据,对于每组数据,输出 K=1,2,,NK=1,2,\ldots,N 的答案,使用半角空格分隔。

样例 1

输入

1
4
1 2
1 3
1 4

输出

4 12 4 1

样例 2

输入

4
1
5
1 4
5 2
3 4
2 1
7
1 7
2 7
5 6
4 1
1 6
3 6
10
1 2
2 3
3 4
4 5
5 6
2 7
3 8
4 9
5 10

输出

1
5 10 10 5 1
7 42 210 840 84 7 1
10 90 720 5040 30240 151200 604800 720 10 1

说明/提示

限制

  • 1T1051\leq T\leq 10^5
  • 1N2×1051\leq N\leq 2\times 10^5
  • 1ui,viN1\leq u_i, v_i\leq N
  • 给定的图一定是一棵树。
  • 所有测试数据中 NN 的总和不超过 2×1052\times 10^5

样例解释 1

用编号为 1,2,,K1,2,\ldots,K 的石子所在顶点的编号序列表示石子的分布方案时:

  • K=1K=1 时,可能的分布方案为 (1),(2),(3),(4)(1), (2), (3), (4),共 44 种。
  • K=2K=2 时,可能的分布方案为 $(1,2), (1,3), (1,4), (2,1), (2,3), (2,4), (3,1), (3,2), (3,4), (4,1), (4,2), (4,3)$,共 1212 种。
  • K=3K=3 时,可能的分布方案为 (1,2,3),(4,1,3),(4,2,1),(4,2,3)(1,2,3), (4,1,3), (4,2,1), (4,2,3),共 44 种。
  • K=4K=4 时,可能的分布方案为 (1,2,3,4)(1,2,3,4),共 11 种。

对于 K=3K=3 的情况,可以参考下图:

样例解释 2

每组测试数据对应的树结构如下图所示:

由 ChatGPT 4.1 翻译