「HMOI R1」不知道是啥的垃圾题
题目背景
由于这是崩坏 3 round,所以这里应该有一个关于崩坏三的背景。然而 fz 不玩崩坏 3,而且他实在是太屑了,所以这题就变成了一道裸题。
题目描述
要求维护一个可重集,支持三种操作:
1. 插入一个自然数对;
1. 删除一个自然数对,保证这个数对之前在集合中;
1. 给定一个自然数对 $(x,y)$,问集合中有多少个数对 $(a,b)$ 满足 $x\operatorname{xor}a>y\operatorname{xor}b$,其中 $\operatorname{xor}$ 表示按位异或运算。
本题中所有“数对”均指有序数对。
输入输出格式
输入格式
第一行一个自然数 $M$ 代表操作数。
接下来 $M$ 行,每行一个操作,格式如下:
- `1 x y` 表示插入自然数对 $(x,y)$;
- `2 x y` 表示删除自然数对 $(x,y)$,保证此时 $(x,y)$ 在集合中至少出现了一次;
- `3 x y` 表示查询自然数对 $(x,y)$。
输出格式
共 $M$ 行,每个询问输出一行一个自然数,表示询问的答案。
输入输出样例
输入样例 #1
6
3 1 2
1 3 2
1 4 5
3 6 2
2 3 2
3 6 2
输出样例 #1
0
1
0
说明
对于样例,第一次查询时集合里没有任何数对,所以答案为 $0$。
第二次查询时,集合为 $\{(3,2),(4,5)\}$,$6\operatorname{xor}3=5>0=2\operatorname{xor}2$,$6\operatorname{xor}4=2<7=2\operatorname{xor}5$,故满足条件的数对只有 $(3,2)$ 一个,答案为 $1$。
第三次询问时,集合为 $\{(4,5)\}$,没有满足条件的数对,答案为 $0$。
------------
对于所有数据:
- $0 \le M \le 2 \times 10^5$;
- $0 \le x, y \le 10^{18}$。
--------
**本题采用捆绑测试。**
| No. | Constraints | Score |
| ---- | --------------------------- | ----- |
| $1$ | $M \le 2000$ | $10$ |
| $2$ | $x, y < 8$ | $20$ |
| $3$ | $x, y \le M$ | $30$ |
| $4$ | No further constraints | $40$ |
-------
- Idea: FZzzz
- Solution: FZzzz
- Code: FZzzz
- Data: FZzzz