/ Vijos / 题库 /

几乎就是并查集

几乎就是并查集

时间限制:1秒  内存限制:256M


【题目描述】

  你的任务是实现一个并查集的变种。它也是需要维护一些不相交集合,并且支持如下 3 钟操作:

  1 p q:合并元素 p 和元素 q 所在集合。如果二者已经在同一个结合中,忽略此命令
  2 p q:把元素 p 移动到 q 所在的集合。如果二者已经在同一个集合,忽略此命令
  3 q:输出 q 所在的集合元素个数和该集合所有元素之和

  初始时,一共有 n 个单元素集合:{1},{2},…,{n}。

【输入格式】

  输入包含多组数据。每组数据第一行为两个整数 n 和 m。
  以下 m 行每行为一条指令。输入结束为文件结束标志(EOF)。输入大小不超过 5MB。

【输出格式】

  对于每条类型 3 的指令,输出 q 所在的集合元素个数和该集合所有元素之和。

【输入输出样例】

 Input

5 7
1 1 2
2 3 4
1 3 5
3 4
2 4 1
3 4
3 3

 Output

3 12
3 7
2 8

【输入输出样例解释】

  初始时的5个单元集合:{1}, {2}, {3}, {4}, {5}。
  执行操作1 1 2后: {1,2}, {3}, {4}, {5}。
  执行操作2 3 4后: {1,2}, {3,4}, {5} (没有把空集列出)。
  执行操作1 3 5后: {1,2}, {3,4,5}。
  执行操作3 4: 4所在集合为{3,4,5},有3个元素,元素和为3+4+5=12。
  执行操作 2 4 1后:: {1,2,4}, {3,5}
  执行操作3 4: 4所在集合为{1,2,4},有3个元素,元素和为1+2+4=7。
  执行操作3 3: 3所在集合为{3,5},有2个元素,元素和为3+5=8。

【数据限制】

  对于 \(100\%\) 的数据, \(1≤n,m≤100000\)。

【来源】

  Mr.he

信息

ID
2237
难度
(无)
分类
数据结构 | 并查集 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
2
上传者