loj#P4171. 「CCO 2024」Telephone Plans
「CCO 2024」Telephone Plans
题目描述
译自 CCO 2024 Day2 T3「Telephone Plans」。
CCO 国现在由唯一的电话服务商「多米通」提供服务。CCO 国有 个房屋,编号从 到 。每条电话线连接两栋不同的房屋,所有曾经存在过的电话线都不会形成回路(就像树一样)。
但是,这些电话线有些问题,每条电话线只能在一段时间内使用。如果在某个时刻,房屋之间存在着由电话线连接的路径,那么这两个房屋就可以互相通话。
我们想要处理 个查询,查询格式如下:
1 x y
:在房屋 和 之间添加一条电话线。保证之前没有在 和 之间添加过电话线。2 x y
:移除房屋 和 之间存在的电话线。3 t
:计算在最后 个查询这一段时间内至少有一个时刻能互相通话的房屋对数。更准确地说,记 为第 个查询之后 CCO 国的状态, 为没有任何查询之前的状态。如果是第 个查询,则计算在 这 个状态中的至少一个状态中能够互相通话的房屋对数。
部分测试用例可能会被加密。对于加密的测试用例,参数 x
、y
和 t
会被当前查询编号和上一个类型为 3 的查询的答案进行异或运算(如果还没有过类型为 3 的查询,则参数保持不变)。
输入格式
第一行输入一个数字 。 表示输入没有加密, 表示输入加密。
第二行包含两个空格分隔的整数 和 ,分别代表 CCO 国的房屋数量和查询数量。
接下来的 行包含如上所述的查询。
对于第 个查询,保证解密后(如果 ):对于类型 1 和 2 的查询,;对于类型 3 的查询,。
输出格式
对于每个类型为 3 的查询,单独一行输出查询的答案。
0
4 12
3 0
1 1 2
3 0
1 1 3
3 0
3 5
2 2 1
3 0
3 8
1 1 4
3 0
3 11
0
1
3
3
1
3
3
5
该测试用例没有加密。
对于第 个查询,没有任何房屋对可以互相通话。
对于第 个查询,只有房屋 和 可以互相通话。
对于第 个查询,可以互相通话的房屋对有:。第 个查询同理。
对于第 个查询,只有房屋 和 可以互相通话。
对于第 个查询,存在某个时刻可以让 这三个房屋对互相通话。
对于第 个查询,可以互相通话的房屋对有 。
对于第 个查询,在当前查询之前的所有时间点,都可以互相通话的房屋对有 。
1
4 12
3 0
1 1 2
3 0
1 0 2
3 1
3 6
2 1 2
3 3
3 9
1 2 7
3 3
3 8
0
1
3
3
1
3
3
5
样例 1 的加密版本。
数据范围与提示
子任务 | 分值 | 的限制 | 的限制 | 是否加密 |
---|---|---|---|---|
否 | ||||
是 | ||||
否 | ||||
是 | ||||
否 | ||||
是 | ||||