#P16732. [GKS 2019 #D] X or What?
[GKS 2019 #D] X or What?
题目描述
Steven 有一个包含 个非负整数的数组。数组中的第 个整数(下标从 开始)为 。
Steven 非常喜欢 的 异或偶 子区间。形式化地说, 的一个子区间是一对下标 ,表示元素 。该子区间的异或和为 $A_L \text{ xor } A_{L+1} \text{ xor } \dots \text{ xor } A_{R-1} \text{ xor } A_R$,其中 xor 表示按位异或。
如果一个子区间的异或和的二进制表示中,值为 的比特个数为偶数,则称该子区间是 异或偶 的。
Steven 希望对数组进行 次修改。第 次修改将第 个(下标从 开始)元素更改为 。Steven 想知道,在每次修改之后, 中元素个数最多的异或偶子区间的大小是多少?
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。
每个测试用例的第一行包含两个整数 和 ,分别表示 Steven 数组中的元素个数和修改次数。
第二行包含 个整数,其中第 个整数表示 Steven 数组中的第 个元素 。
随后 行,每行描述一次修改。第 行包含 和 。第 次修改将第 个(下标从 开始)元素更改为 。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y_1 y_2 ... y_Q,其中 是测试用例编号(从 开始), 是第 次修改后 中最大的异或偶子区间所包含的元素个数。如果不存在异或偶子区间,则输出 。
2
4 3
10 21 3 7
1 13
0 32
2 22
5 1
14 1 15 20 26
4 26
Case #1: 4 3 4
Case #2: 4
提示
在样例 中,,。
- 第一次修改后, 为 。子区间 的异或和为 $10 \text{ xor } 13 \text{ xor } 3 \text{ xor } 7 = 3$。二进制下异或和为 ,其中 的个数为 (偶数),因此该子区间是异或偶的。这是最大的子区间,所以答案为 。
- 第二次修改后, 为 。最大的异或偶子区间是 ,其异或和为 。二进制下为 。
- 第三次修改后, 为 。最大的异或偶子区间再次是 ,其异或和为 $32 \text{ xor } 13 \text{ xor } 22 \text{ xor } 7 = 60$。二进制下为 。
在样例 中,,。第一次修改后, 为 。最大的异或偶子区间是 ,其异或和为 $1 \text{ xor } 15 \text{ xor } 20 \text{ xor } 26 = 0$。二进制下为 。
限制条件
。
。
。
。
测试集 1(可见)
。
。
测试集 2(隐藏)
。
。
翻译由 DeepSeek V4 Pro 完成