- 请不要忘记异或一下lastans,否则会RE。(
这种sb错误应该只有我犯)
- 如果您的BIT是用vector存的, 且修改/查询的函数里面以vector作为参数, 那您可能需要在参数里面加一个
&
,相当于传地址进去(都要加,尽管不修改)。如果不加,会把整个 vector 给 O(n) 的复制一遍传进去,然后就会 TLE
- 数组不清空(比如size,bal等DFS里的数组)
- 见我代码里的注释
戳我
附赠:我自己手玩的有点强度的样例
造的时候并没有考虑到lastans,使用它的时候,不应 ^=lastans
输入:
29 9
3 7 2 4 5
1 9 8 6 4
7 4 2 9 5
6 1 3 4 4
2 8 7 1 3
4 1 8 5
1 2
2 5
5 10
10 15
15 17
15 18
10 16
16 19
16 20
1 3
3 6
6 11
6 12
3 7
7 13
13 21
21 23
21 24
24 25
24 26
13 22
22 27
22 28
1 4
4 8
4 9
9 14
14 29
0 7 2
0 8 1
1 4 2
0 14 2
0 9 2
1 12 100
0 3 2
0 11 2
0 13 2
输出:
27
12
22
33
133
110
40
这个数据我是手画的图,但那个图就不拍出来了,太丑