题目大意:
现在要对一个multiset执行q次指令,请你根据指令作出相应操作。共有3种指令类型,分别为”+ x”,”- x”和”? x”,他们的要求依次为:向集合中添加一个元素x、删除集合中的一个元素x和查询集合中现已存在的数与x的异或结果最大值。
注意:multiset是一个允许相同元素存在于集合中的一个容器。初始时集合中有且仅有0这个元素。
解题思路:
全题中最重要的指令就是”? x”这个指令了。异或结果最大,就是分解为二进制后,从高位往低位看,这一位为0时尽量取这一位为1的与他进行异或,为1时同理。到这里就能看出来是很明显的字典树啦。
Mycode:
1 |
|