博宝自动机Ⅱ
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Problem Description
众所周知,博宝还是一只大鹅。
在2023年四川省程序设计大赛的前一天,博宝被困在了娃娃机里。恰好被彬哥和鑫宝遇到了,于是彬哥和鑫宝打算解救博宝。
博宝现在躺在了娃娃机里面,成功抓取博宝即可拯救博宝!
重庆邮电大学ACM集训队的同学们不断的抓呀抓,还是没有将博宝抓出来。
娃娃机真的太坑了,想直接抓出来简直难如登天!
聪明的彬哥发现,躺在娃娃机里面的博宝们呈现一种互相压住的状态,即博宝们之间存在相互牵制。
例如博宝a压住博宝b会导致b不好抓取。
我们可以找到最好抓的那一只博宝进行抓取,这样拯救博宝的成功率会大大提升。
于是!ACM集训队灵魂人物——彬哥和鑫宝发明了博宝自动机,可以快速计算出最好抓的那一只博宝的成功率是多少。
每一只博宝身上有一个值,任意两只博宝身上的值的异或值越小,那么说明被牵制的越少,此时抓取的成功率越高!
彬哥和鑫宝的此举显然危害到了娃娃机管理员的利益,于是管理员决定随机地拿走一只博宝或者加入一只博宝。
以此来干扰博宝自动机的计算。
可是现在站在你面前的是…………(省略1000字)…………的彬哥和鑫宝,怎么会让你区区小人得逞呢!
彬哥和鑫宝找到了聪明的你,希望你可以帮助他们计算任意两只博宝身上的 异或值 最小是多少。
即目前有三种操作
操作1: 加入一只值为x的博宝
操作2: 删除一只值为x的博宝(如果有多只,只删除一只)
操作3: 查询任意两只博宝身上的 异或值 的最小值
异或值指的是两个数按位异或的值,具体计算方案见提示
Input Format
第一行输入一个正整数n代表有n次操作
接下来n行,每行先输入一个正整数op,代表操作的种类。
如果 , 那么还会继续输入一个数x,
代表需要 加入/删除 的博宝的值。
Output Format
对于每次操作3,输出一个正整数,代表任意两只博宝身上的 异或值 的最小值
如果操作3的时候,机器中的博宝数量小于2,那么输出-1。
如果操作2删除的博宝并不存在,那么不做任何操作。
Sample
样例输入
6
1 2
1 2
1 3
3
2 2
3
样例输出
0
1
Hint
按位异或运算将两个运算分量的对应位按位遵照以下规则进行计算:
0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0
即相应位的值相同的,结果为 0,不相同的结果为 1。
例如,2 ^ 6结果为4
因为2表示为二进制为0010,6表示为二进制为0110
两数只有第三位相异,因此最后的结果为0100,即为4
重庆邮电大学第十六届ACM程序设计大赛(现场赛)
- 状态
- 已结束
- 规则
- XCPC
- 题目
- 12
- 开始于
- 2023-10-15 13:10
- 结束于
- 2023-10-15 18:10
- 持续时间
- 5 小时
- 主持人
- 参赛人数
- 0