#P11674. [USACO25JAN] Reachable Pairs G

[USACO25JAN] Reachable Pairs G

Description

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.

Input Format

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.

Output Format

NN lines, the number of pairs before each timestep.

3 2
111
1 2
1 3
3
1
0
3 2
000
1 2
1 3
3
0
0
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

Hint

For Sample 1:

Before any removals, all pairs of nodes are reachable from each other. After node 11 is removed, an edge is added between 22 and 33, so they can still reach each other.

For Sample 2:

Before any removals, all pairs of nodes are reachable from each other. After node 11 is removed, 22 and 33 can no longer reach each other.

SCORING:

  • Inputs 4-6: N100N\le 100
  • Inputs 7-8: All sis_i equal zero.
  • Inputs 9-11: All sis_i equal one.
  • Inputs 12-23: No additional constraints.