4914 可持久化并查集 0x49「数据结构进阶」练习
描述
有n个集合,m个操作,操作分为三种:
- 1 a b ——合并a,b所在集合
- 2 k ——回到输入的第k次操作之后的状态
- 3 a b ——询问a,b是否属于同一集合,是则输出1否则输出0
输入格式
第一行为n,m。
接下来m行为每个操作,按照题目描述中所述的格式。
每个操作强制在线,需要对输入的 a,b,k 进行运算得到真实的 a,b,k 后再执行操作,运算方法为 x = x xor last_ans,last_ans表示上一个询问的答案,其初始值为0。
输出格式
一个整数,表示a+b的值。
样例输入
5 6 1 1 2 3 1 2 2 1 3 0 3 2 1 3 1 2
样例输出
1 0 1
数据范围与约定
- 0<n,m<=2*10^5