/ Vijos / 题库 /

可持久化并查集

可持久化并查集

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


【题目描述】

  \(n\) 个集合,分别是 {0}、{1}、…、{n},\(m\) 个操作:

  1 \(a\ b\) 合并 \(a,b\) 所在集合
  2 \(k\) 回到第 \(k\) 次操作之后的状态(查询算作操作)
  3 \(a\ b\) 询问 \(a,b\) 是否属于同一集合,是则输出 1 否则输出 0

  请注意本题采用强制在线,所给的 \(a,b,k\) 均经过加密,加密方法为 \(x\ =\ x\ xor\ lastans\),\(lastans\) 的初始值为 0。

【输入格式】

  第一行为整数 \(n,m\),接下来的 \(m\) 行,每行一个操作命令,正如题目中所说,\(a,b,k\) 都是经过加密的。

【输出格式】

  输出操作3 的结果

【输入输出样例】

 Input

5 6
1 1 2
3 1 2
2 1
3 0 3
2 1
3 1 2

 Output

1
0
1

【数据限制】

  对于 \(100\%\) 的数据,\(0<n,m≤2*10^5\)

【来源】

  Mr.he**

信息

ID
2598
难度
9
分类
数据结构 | 线段树 点击显示
标签
(无)
递交数
6
已通过
1
通过率
17%
被复制
4
上传者