PivotOJ

Reachable Pairs

시간 제한: 2000ms메모리 제한: 2048MB출처: USACO 2025 January GoldBOJ 33502

문제

Consider an undirected graph with NN nodes labeled 1N1\dots N and MM edges (1N2105,0M41051\le N\le 2\cdot 10^5, 0\le M\le 4\cdot 10^5). You're given a binary string s1s2sNs_1s_2\dots s_N. At time tt for each t[1,N]t\in [1,N],

  • If st=0s_t=0, node tt is removed from the graph.
  • If st=1s_t=1, node tt is removed from the graph, and edges are added between every pair of neighbors that node tt had just before removal.

Note that in both cases, when a node is removed from the graph all of its incident edges are removed as well.

Count the number of pairs of nodes that can reach each other via some sequence of edges just before each of timesteps 1N1\ldots N.

입력

The first line contains NN and MM.

The second line contains the bit string ss of length NN.

The next MM lines each contain two integers denoting an edge of the graph.

출력

NN lines, the number of pairs before each timestep.

예제

예제 1

입력
3 2
111
1 2
1 3
출력
3
1
0

예제 2

입력
3 2
000
1 2
1 3
출력
3
0
0

예제 3

입력
7 8
1101101
6 2
1 2
2 3
6 3
1 3
1 7
4 5
2 7
출력
11
7
4
2
1
1
0
코드를 제출하려면 로그인하세요.