#867. 👨👩👧👦 A3《家族人口统计》📌
👨👩👧👦 A3《家族人口统计》📌
👨👩👧👦 A3《家族人口统计》📌
在 兔猫信奥学院,加菲老师又拿来一张更大的“亲戚关系网”。 小兔发现:家族一旦变得很庞大,想手算某个人“到底有多少亲戚”几乎不可能。
现在我们用编号 表示 个人,并且会按顺序收到 条信息,包含两种指令:
M a b:表示 a 和 b 是亲戚(因此他们所在的两个家族会合并成一个更大的家族)Q a:询问 a 所在家族的人数(也就是和 a 互为亲戚的人一共有多少个,包含 a 自己)
亲戚关系满足传递性:
- 若 和 是亲戚, 和 是亲戚,则 和 也是亲戚
- 若 和 是亲戚,则 x 的所有亲戚 也是 y 的所有亲戚(两个家族等价合并)
请你按输入顺序处理每条信息,并对每个询问输出答案。
输入格式
第一行两个整数 :
- :人数()
- :信息条数()
接下来 行,每行是一条信息:
M a b:表示 与 是亲戚Q a:询问 所在家族的人数
输出格式
对于每一条 Q a,输出一行一个整数: 所在家族的人数。
5 10
M 3 2
Q 4
M 1 2
Q 4
M 3 2
Q 1
M 3 1
Q 5
M 4 2
Q 4
1
1
3
1
4
数据范围
(提示:合并与查询都很多,需要支持快速维护“家族大小”。)