atcoder#AGC005F. [AGC005F] Many Easy Problems

[AGC005F] Many Easy Problems

配点 : 19001900

問題文

高橋君はある日青木君から以下の様な問題を貰いました。

  • NN 頂点の木と、整数 KK が与えられる。木の頂点は 1,2,...,N1,2,...,N と番号がついているものとし、辺は (ai,bi)(a_i, b_i) で表す。
  • 頂点の集合 SS について f(S)f(S) を、SS をすべて含む部分木の頂点数の最小値とする
  • 木から KK 個の頂点を選ぶ方法は NCK_NC_K 通りあるが、それぞれについて選んだ頂点を SS とし、 f(S)f(S) の総和を求める
  • 答えは大きくなることがあるので、924844033924844033(素数) で割ったあまりを出力する

高橋君にとってこの問題は簡単すぎました。なので K=1,2,...,NK = 1,2,...,N 全てについてこの問題を解くことにしました。

制約

  • 2N200,0002 \leq N \leq 200,000
  • 1ai,biN1 \leq a_i, b_i \leq N
  • 与えられるグラフは木である

入力

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

NN

a1a_1 b1b_1

a2a_2 b2b_2

:

aN1a_{N-1} bN1b_{N-1}

出力

NN 行出力する。ii 行目には、K=iK=i の時の問題の答えを 924844033924844033 で割ったあまりを出力する。

3
1 2
2 3
3
7
3

上図は、K=2K=2 の場合を図示している。ピンク色の頂点が選んだ頂点で、赤く囲われたのが頂点数最小の部分木である。

4
1 2
1 3
1 4
4
15
13
4
7
1 2
2 3
2 4
4 5
4 6
6 7
7
67
150
179
122
45
7