#abc308g. [abc308_g]Minimum Xor Pair Query

[abc308_g]Minimum Xor Pair Query

题目描述

这里有一块你可以写整数的黑板,初始黑板上什么都没有。

现在有 qq 个操作/询问,格式如下:

  • 操作 1 x:在黑板上写下一个数 xx
  • 操作 2 x:将一个整数 xx 从黑板上擦去,保证此时黑板上至少有一个整数 xx
  • 询问 3:输出黑板上任意两个整数的异或值的最小值,保证此时黑板上至少有两个数。

输入格式

第一行一个整数 qq,表示操作/询问总数。

接下来 qq 行,每行一个操作,格式如上。

输出格式

对于每个询问 3,输出黑板上任意两个整数的异或值的最小值。

数据范围

1q3×105,0x<2301\leq q\leq 3\times 10^5,0\leq x<2^{30}

样例说明

对于样例 1:

共有 9 个询问。

  1. 此时黑板上有整数 {2}\{2\}
  2. 此时黑板上有整数 {2,10}\{2,10\}
  3. 210=82\oplus10=8 是黑板上最小的异或值。
  4. 此时黑板上有整数 {2,3,10}\{2,3,10\}
  5. 23=12\oplus3=1 是黑板上最小的异或值。
  6. 此时黑板上有整数 {3,10}\{3,10\}
  7. 310=93\oplus10=9 是黑板上最小的异或值。
  8. 此时黑板上有整数 {3,10,10}\{3,10,10\}
  9. 1010=010\oplus10=0 是黑板上最小的异或值。

Translate by Ew_Cors.