#1185. 【模板】并查集

【模板】并查集

题目背景

本题采用扩展后的数据范围,NN 的上限为 2×1052\times10^5,MM 的上限为 10610^6。

题目描述

编号为 11 至 NN 的元素初始各自属于一个集合。按给出的顺序完成两类操作:合并两个元素所属的集合,以及查询两个元素是否已经属于同一个集合。

输入格式

第一行给出元素个数 NN 和操作次数 MM。接下来按执行顺序输入 MM 行操作,每行为三个整数 Zi,Xi,YiZ_i,X_i,Y_i。

  • Zi=1Z_i=1 时,将包含 XiX_i 的集合与包含 YiY_i 的集合合并。
  • Zi=2Z_i=2 时,查询 XiX_i 与 YiY_i 是否在同一个集合中。

输出格式

每次查询输出一行;属于同一集合时输出 Y,否则输出 N。

4 7
2 1 2
1 1 2
2 1 2
1 3 4
2 1 4
1 2 3
2 1 4
N
Y
N
Y

说明/提示

原题的分档数据范围如下。

数据比例 条件
15% N≤10, M≤20N\le10,\ M\le20
35% N≤100, M≤103N\le100,\ M\le10^3
50% 1≤N≤104, 1≤M≤2×1051\le N\le10^4,\ 1\le M\le2\times10^5
100% $1\le N\le2\times10^5,\ 1\le M\le10^6,\ 1\le X_i,Y_i\le N,\ Z_i\in\{1,2\}$