#P14016. [ICPC 2024 Nanjing R] 拓扑

    ID: 15799 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学2024拓扑排序组合数学逆元ICPC南京

[ICPC 2024 Nanjing R] 拓扑

题目描述

给定一棵由 nn 个节点组成的树,其中节点 11 是根。保证每个节点的编号都比它所有子节点小。树的拓扑序是一个满足以下限制的 nn 的排列 p1,p2,,pnp_1,p_2,\dots,p_n:对于所有 1i<jn1\leq i<j\leq n,节点 pjp_j 都不是节点 pip_i 的父节点。

对于每个 1in1 \le i \le n,计算给定的树有多少拓扑序满足 pi=ip_i=i。答案对 998244353998\,244\,353 取模。

输入格式

每个测试文件仅有一组测试数据。

第一行输入一个整数 nn2n50002\leq n\leq 5\,000),表示树的节点数量。

第二行输入 (n1)(n-1) 个整数 f2,f3,,fnf_2,f_3,\dots,f_n1fi<i1\leq f_i< i),其中 fif_i 是节点 ii 的父节点。

输出格式

输出一行 nn 个由单个空格分隔的整数 a1,a2,,ana_1, a_2, \cdots, a_n,其中 aia_i 表示给定的树有多少拓扑序满足 pi=ip_i=i。答案对 998244353998\,244\,353 取模。

4
1 1 2
3 2 1 2
9
1 1 2 2 3 3 4 5
672 420 180 160 152 108 120 170 210

提示

对于第一组样例数据,树的拓扑序有:{1,2,3,4}\{1, 2, 3, 4\}, {1,3,2,4}\{1, 3, 2, 4\}{1,2,4,3}\{1, 2, 4, 3\}。其中有 33 个序列满足 p1=1p_1 = 122 个序列满足 p2=2p_2 = 211 个序列满足 p3=3p_3 = 3, 以及 22 个序列满足 p4=4p_4 = 4