#92. 并查集

并查集

问题描述

并查集是解决不相交集合并问题的一种数据结构,简称为 dsu(disjoint set union)。

nn 个集合,编号为 1n1\sim n,第 ii 个集合里有且只有一个数字 ii

现在有 mm 次操作,每次操作有以下两种情况:

  • M a b:将数字 aa 与数字 bb 所在的集合合并。
  • Q a b:查询数字 aa 与数字 bb 是否在一个集合中。

输入格式

第一行输入两个正整数 n,mn,m(1n,m105)(1\le n,m\le 10^5)

接下来 mm 行,每行输入一组操作。(1a,bn)(1\le a,b\le n)

输出格式

对于每组查询操作,若 a,ba,b 在同一集合,则输出 Yes,否则输出 No

样例输入

4 7
M 1 2
M 3 4
Q 1 2
Q 1 3
Q 3 4
M 4 2
Q 1 3

样例输出

Yes
No
Yes
Yes