atcoder#DPV. Subtree

Subtree

题目描述

N N 頂点の木があります。 頂点には 1, 2, , N 1,\ 2,\ \ldots,\ N と番号が振られています。 各 i i (1  i  N  1 1\ \leq\ i\ \leq\ N\ -\ 1 ) について、i i 番目の辺は頂点 xi x_i yi y_i を結んでいます。

太郎君は、各頂点を白または黒で塗ることにしました。 このとき、どの黒い頂点からどの黒い頂点へも、黒い頂点のみを辿って到達できるようにします。

正整数 M M が与えられます。 各 v v (1  v  N 1\ \leq\ v\ \leq\ N ) について、次の質問に答えてください。

  • 頂点 v v が黒であるような頂点の色の組合せは何通りか? M M で割った余りを求めよ。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M x1 x_1 y1 y_1 x2 x_2 y2 y_2 : : xN  1 x_{N\ -\ 1} yN  1 y_{N\ -\ 1}

输出格式

N N 行出力せよ。 v v (1  v  N 1\ \leq\ v\ \leq\ N ) 行目には、次の質問に対する答えを出力せよ。

  • 頂点 v v が黒であるような頂点の色の組合せは何通りか? M M で割った余りを求めよ。

题目大意

给一棵树,对每一个节点染成黑色或白色。

对于每一个节点,求强制把这个节点染成黑色的情况下,所有的黑色节点组成一个联通块的染色方案数,答案对 MM 取模。

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

提示

制約

  • 入力はすべて整数である。
  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • 2  M  109 2\ \leq\ M\ \leq\ 10^9
  • 1  xi, yi  N 1\ \leq\ x_i,\ y_i\ \leq\ N
  • 与えられるグラフは木である。

Sample Explanation 1

頂点の色の組合せは次図の 7 7 通りです。 このうち、頂点 1 1 が黒であるようなものは 3 3 通り、頂点 2 2 が黒であるようなものは 4 4 通り、頂点 3 3 が黒であるようなものは 3 3 通りです。 ![](https://img.atcoder.jp/dp/subtree\_0\_muffet.png)

Sample Explanation 4

答えを M M で割った余りを出力することを忘れずに。