#P9669. [ICPC 2022 Jinan R] DFS Order 2
[ICPC 2022 Jinan R] DFS Order 2
Description
P 有一棵树,根节点是 ,总共有 个节点,从 到 编号。
他想从根节点开始进行深度优先搜索。他想知道对于每个节点 ,在深度优先搜索中,它出现在第 个位置的方式有多少种。深度优先搜索的顺序是在搜索过程中访问节点的顺序。节点出现在第 个位置表示它在访问了 个其他节点之后才被访问。因为节点的子节点可以以任意顺序访问,所以有多种可能的深度优先搜索顺序。
P 想知道对于每个节点 ,有多少种不同的深度优先搜索顺序,使得 出现在第 个位置。对于每个 和 ,计算答案。答案可能很大,所以输出时要取模 。
以下是深度优先搜索的伪代码,用于处理树。在调用 函数后, 将会包含深度优先搜索的顺序。

Input Format
第一行包含一个整数 ,表示树中的节点数量。
接下来的n-1行描述了树的边。第i行包含两个整数 和 ,表示连接的两个节点的标签 。
保证给定的边构成一棵树。
Output Format
对于每个从 到 的节点 ,输出一行,包含 个整数,取模 。在第 行中,第 个整数表示不同的深度优先搜索顺序中,节点 出现在第 个位置的数量。
翻译由 @ayf2192538031 提供。
5
1 2
1 3
3 4
3 5
4 0 0 0 0
0 2 0 0 2
0 2 2 0 0
0 0 1 2 1
0 0 1 2 1
京公网安备 11011102002149号