#P11160. 【MX-X6-T6】機械生命体
【MX-X6-T6】機械生命体
题目背景
許してよ、もう 分かってよ 此処の正体を 僕ですら僕を 愛せないんだって 感情を持った代償をくれよ 狂っている
二进制的运算和记忆,能够在机械生命体中还原出人类的情感吗?
题目描述
维护一个可重集 ,初始为空。支持如下操作:
1 x
,你需要在 中加入一个数 。2 x
,你需要在 中删除一个数 。保证此时 中存在至少一个 。如果存在多个 ,则仅删除一个。3 x k v
,你需要对 中所有满足 的 增加 并对 取模。4 x
,你需要求出 $\max\limits_{y\in S} \operatorname{lowbit}(x\oplus y)$。保证此时 不为空。
其中 表示最大的整数 ,使得 是 的整数次幂并且整除 。 代表按位异或。
特殊的,我们在本题定义 。
输入格式
第一行一个整数 ,代表询问数量。
接下来 行,每行首先输入一个整数 表示操作类型;如果 ,则接下来依次输入三个整数 ,否则接下来输入一个整数 。
输出格式
对每一次 4
操作,输出一个整数代表答案。
11
1 1
1 2
1 2
1 3
1 4
4 10
3 2 1 2
2 4
4 16
2 4
4 16
8
4
2
提示
【样例解释】
第 次操作时,集合为 ,查询 时,$\operatorname{lowbit}(10\oplus 2)=\operatorname{lowbit}(8)=8$ 为最大值。
第 次操作后,所有 的数增加 ,集合中满足条件的数有 ,于是集合变为 。
第 次操作删去一个 ,集合变为 。
第 次操作查询 ,$\operatorname{lowbit}(16\oplus 4)=\operatorname{lowbit}(20)=4$ 为最大值。
第 次操作再次删去一个 ,集合变为 。
第 次操作查询 ,$\operatorname{lowbit}(16\oplus 6)=\operatorname{lowbit}(22)=2$ 为最大值。
【数据范围】
对于所有数据,,,。
捆绑测试,共 5 个 Subtask,具体限制如下所示:
- Subtask 1(7 pts):。
- Subtask 2(16 pts):不存在 3 操作。
- Subtask 3(21 pts):对于 3 操作,。
- Subtask 4(28 pts):对于 3 操作,。
- Subtask 5(28 pts):无特殊限制。