#P3402. 【模板】可持久化并查集(Persistent DSU)
0
【模板】可持久化并查集(Persistent DSU)
【模板】可持久化并查集(Persistent DSU)
题目描述
给定 个集合,第 个集合内初始状态下只有一个数,为 。
有 次操作。操作分为 种:
-
1 a b合并 所在集合; -
2 k回到第 次操作(执行三种操作中的任意一种都记为一次操作)之后的状态,保证已经进行过至少 次操作(不算本次操作),特别的,若 ,则表示回到初始状态; -
3 a b询问 是否属于同一集合,如果是则输出 ,否则输出 。
输入格式
第一行两个整数,。
接下来 行,每行先输入一个数 。若 则再输入一个整数 ,否则再输入两个整数 ,描述一次操作。
输出格式
对每个操作 ,输出一行一个整数表示答案。
样例输入 #1
5 6
1 1 2
3 1 2
2 0
3 1 2
2 1
3 1 2
样例输出 #1
1
0
1
数据范围
对于 的数据,,,。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1800。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 25 | 2~8 | 小规模与边界测试数据 |
| 2 | 30 | 9~16 | 中等规模测试数据 |
| 3 | 35 | 17~25 | 满规模极限测试数据 |
出处:原题链接