#X0007. 【模板】并查集 Union Find

【模板】并查集 Union Find

当前没有测试数据。

描述

给定 n 个元素,编号为 1 到 n。

一开始,每个元素都各自属于一个独立的集合。

接下来有 m 次操作,每次操作可能是合并两个元素所在的集合,或者询问两个元素是否在同一个集合中。

请你使用并查集维护这些集合关系。

格式

输入

第一行两个整数 n 和 m,分别表示元素个数和操作次数。

接下来 m 行,每行三个整数 op x y,表示一次操作:

  • 如果 op = 1,表示将 x 和 y 所在的集合合并。
  • 如果 op = 2,表示询问 x 和 y 是否在同一个集合中。

输出

对于每个 op = 2 的询问,输出一行结果:

  • 如果 x 和 y 在同一个集合中,输出 Yes
  • 否则输出 No

示例

5 5
1 1 2
2 1 2
2 1 3
1 2 3
2 1 3
Yes
No
Yes
4 6
2 1 4
1 1 4
2 1 4
1 2 3
2 2 4
2 2 3
No
Yes
No
Yes

数据约定

  • 1≤n≤1051 \le n \le 10^5
  • 1≤m≤1051 \le m \le 10^5
  • op∈{1,2}op \in \{1, 2\}
  • 1≤x,y≤n1 \le x, y \le n