编程题
### 问题描述 并查集是解决不相交集合并问题的一种数据结构,简称为 `dsu`(disjoint set union)。 有 $n$ 个集合,编号为 $1\sim n$,第 $i$ 个集合里有且只有一个数字 $i$。 现在有 $m$ 次操作,每次操作有以下两种情况: - `M a b`:将数字 $a$ 与数字 $b$ 所在的集合合并。 - `Q a b`:查询数字 $a$ 与数字 $b$ 是否在一个集合中。 ### 输入格式 第一行输入两个正整数 $n,m$。$(1\le n,m\le 10^5)$ 接下来 $m$ 行,每行输入一组操作。$(1\le a,b\le n)$ ### 输出格式 对于每组查询操作,若 $a,b$ 在同一集合,则输出 `Yes`,否则输出 `No`。 ### 样例输入 ```text 4 7 M 1 2 M 3 4 Q 1 2 Q 1 3 Q 3 4 M 4 2 Q 1 3 ``` ### 样例输出 ```text Yes No Yes Yes ``` ###
查看答案
赣ICP备20007335号-2