题目 3133

「可持久化并查集」 可持久化并查集加强版

查看题解 ↗GitHub ↗如何评测
题号
3133
时间限制
1000 ms
内存限制
128 MB
标签
线段树并查集数据结构

有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。

输出格式

对于每个询问操作,输出一个结果,每个结果占一行。

数据范围

0<n,m≤2\*1050 < n,m \le 2\*10^5

输入样例:

文本
5 6
1 1 2
3 1 2
2 1
3 0 3
2 1
3 1 2

输出样例:

文本
1
0
1

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3133 的公开数据

正在读取文件列表…

常用命令

题目 3133 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。