【题目描述】
设 G−1 为包含 N 个顶点且没有边的图。依次处理 Q 个查询。第 i 个查询按以下格式给出:
0 $k_{i}$ $u_{i}$ $v_{i}$:令 Gi 为在 Gki 中加入一条边 (u,v) 所得到的图。
1 $k_{i}$ $u_{i}$ $v_{i}$:若 Gki 中的顶点 u,v 连通,输出 1;否则输出 0。
【输入】
文本
$N$ $Q$
$t_0$ $k_0$ $u_0$ $v_0$
$\vdots$
$t_{Q-1}$ $k_{Q-1}$ $u_{Q-1}$ $v_{Q-1}$
【输出】
对每个 1 $k_{i}$ $u_{i}$ $v_{i}$ 查询,若 Gki 中顶点 u 与 v 连通则输出一行 1,否则输出一行 0。
【输入样例】
文本
5 12
0 -1 0 1
0 0 0 2
1 -1 0 1
1 0 0 1
1 1 0 1
0 1 3 4
0 1 2 3
1 5 1 4
0 5 2 3
1 8 1 4
0 6 3 4
1 10 1 4
【输出样例】
【数据范围】
- 1≤N≤200000
- 1≤Q≤200000
- ti∈{0,1}
- −1≤ki<i
- 对所有 ki,都有 ki=−1 或 tki=0。
- 0≤ui,vi<N
【来源】
Library Checker(yosupo06) persistent_unionfind