atcoder#ABC229E. [ABC229E] Graph Destruction

[ABC229E] Graph Destruction

配点 : 500500

問題文

NN 頂点 MM 辺の単純な無向グラフが与えられます。 辺 ii は、頂点 AiA_iBiB_i を結んでいます。

頂点 1,2,,N1,2,\ldots,N を順番に消していきます。 なお、頂点 ii を消すとは、頂点 ii と、頂点 ii に接続する全ての辺をグラフから削除することです。

i=1,2,,Ni=1,2,\ldots,N について、頂点 ii まで消した時にグラフはいくつの連結成分に分かれていますか?

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • $0 \leq M \leq \min(\frac{N(N-1)}{2} , 2 \times 10^5 )$
  • 1Ai<BiN1 \leq A_i \lt B_i \leq N
  • iji \neq j ならば (Ai,Bi)(Aj,Bj)(A_i,B_i) \neq (A_j,B_j)
  • 入力は全て整数である

入力

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

NN MM

A1A_1 B1B_1

A2A_2 B2B_2

\vdots

AMA_M BMB_M

出力

NN 行出力せよ。 ii 行目には、頂点 ii まで消した時のグラフの連結成分の数を出力せよ。

6 7
1 2
1 4
1 5
2 4
2 3
3 5
3 6
1
2
3
2
1
0

グラフは上図のように変化していきます。

8 7
7 8
3 4
5 6
5 7
5 8
6 7
6 8
3
2
2
1
1
1
1
0

はじめからグラフが非連結なこともあります。