atcoder#ABC207F. [ABC207F] Tree Patrolling

[ABC207F] Tree Patrolling

配点 : 600600

問題文

NN 頂点の木があり、各頂点には 11 から NN までの番号が振られています。また、ii 本目の辺は頂点 uiu_i と頂点 viv_i を双方向に結んでいます。

この木の持ち主であるあなたは、いくつかの頂点 (00 個でもよい) を選んで高橋くんを配置し、木の警備をさせることにしました。頂点 xx に配置された高橋くんは、xx と直接辺で結ばれた頂点、及び xx 自身を警備します。

高橋くんを配置する頂点の選び方は 2N2^N 通りありますが、そのうち 11 人以上の高橋くんに警備された頂点の個数がちょうど KK 個となるような選び方はいくつありますか?

K=0,1,,NK=0,1,\ldots,N について答えを求め、(109+7)(10^9+7) で割ったあまりを出力してください。

制約

  • 1N20001 \leq N \leq 2000
  • 1ui<viN1 \leq u_i \lt v_i \leq N
  • 与えられるグラフは木
  • 入力は全て整数

入力

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

NN

u1u_1 v1v_1

u2u_2 v2v_2

\hspace{0.6cm}\vdots

uN1u_{N-1} vN1v_{N-1}

出力

N+1N+1 行に渡って出力せよ。ii 行目には、K=i1K=i-1 とした場合の答えを出力すること。

3
1 3
1 2
1
0
2
5

高橋くんを配置する頂点の選び方は、以下の 88 通りです。

  • どの頂点にも高橋くんを配置しない。いずれの頂点も高橋くんに警備されていない状態となる。
  • 頂点 11 に高橋くんを配置する。全ての頂点が高橋くんに警備された状態となる。
  • 頂点 22 に高橋くんを配置する。頂点 11, 2222 つが高橋くんに警備された状態となる。
  • 頂点 33 に高橋くんを配置する。頂点 11, 3322 つが高橋くんに警備された状態となる。
  • 頂点 11 と頂点 22 に高橋くんを配置する。全ての頂点が高橋くんに警備された状態となる。
  • 頂点 11 と頂点 33 に高橋くんを配置する。全ての頂点が高橋くんに警備された状態となる。
  • 頂点 22 と頂点 33 に高橋くんを配置する。全ての頂点が高橋くんに警備された状態となる。
  • 全ての頂点に高橋くんを配置する。全ての頂点が高橋くんに警備された状態となる。
5
1 3
4 5
1 5
2 3
1
0
2
5
7
17
10
6 10
1 8
2 7
5 6
3 8
3 4
7 10
4 9
2 8
1
0
3
8
15
32
68
110
196
266
325