AT_dp_v Subtree
题目描述
有一棵包含 $N$ 个顶点的树。顶点编号为 $1, 2, \ldots, N$。对于每个 $i$($1 \leq i \leq N-1$),第 $i$ 条边连接顶点 $x_i$ 和 $y_i$。
太郎君打算将每个顶点涂成白色或黑色。此时,需要保证任意两个黑色顶点之间,都可以仅通过黑色顶点相互到达。
给定一个正整数 $M$。对于每个 $v$($1 \leq v \leq N$),请回答以下问题:
- 以顶点 $v$ 为黑色的所有顶点染色方案有多少种?请输出对 $M$ 取模的结果。
输入格式
输入以如下格式从标准输入读入。
> $N$ $M$
> $x_1$ $y_1$
> $x_2$ $y_2$
> $\vdots$
> $x_{N-1}$ $y_{N-1}$
输出格式
输出 $N$ 行。对于每个 $v$($1 \leq v \leq N$),第 $v$ 行输出以下问题的答案:
- 以顶点 $v$ 为黑色的所有顶点染色方案有多少种?请输出对 $M$ 取模的结果。
说明/提示
## 限制条件
- 所有输入均为整数。
- $1 \leq N \leq 10^5$
- $2 \leq M \leq 10^9$
- $1 \leq x_i, y_i \leq N$
- 给定的图为一棵树。
## 样例解释 1
顶点染色的方案共有 $7$ 种。在这些方案中,顶点 $1$ 为黑色的有 $3$ 种,顶点 $2$ 为黑色的有 $4$ 种,顶点 $3$ 为黑色的有 $3$ 种。

## 样例解释 4
不要忘记输出答案对 $M$ 取模的结果。
由 ChatGPT 4.1 翻译