CF1731C Even Subarrays
题目描述
给定一个整数数组 $a_1, a_2, \dots, a_n$($1 \le a_i \le n$)。
请你计算数组 $a$ 中有多少个子数组,其 $\operatorname{XOR}$ 的因子个数为偶数。换句话说,找出所有满足条件的下标对 $(i, j)$($i \le j$),使得 $a_i \oplus a_{i + 1} \oplus \dots \oplus a_j$ 的因子个数为偶数。
例如,数字 $2$、$3$、$5$ 或 $6$ 的因子个数为偶数,而 $1$ 和 $4$ 的因子个数为奇数。在本题中,$0$ 的因子个数视为奇数。
这里的 $\operatorname{XOR}$(或 $\oplus$)表示[按位异或运算](https://en.wikipedia.org/wiki/Bitwise_operation#XOR)。
输出子数组的数量,但要乘以 2022……好吧,开个玩笑。请直接输出实际答案。
输入格式
每个测试点包含多组测试数据。第一行包含测试用例个数 $t$($1 \leq t \leq 10^4$)。接下来是每组测试数据的描述。
每组测试数据的第一行包含一个整数 $n$($2 \leq n \leq 2 \cdot 10^5$),表示数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \leq a_i \leq n$)。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每组测试数据,输出一个整数,表示满足条件的子数组数量。
说明/提示
在第一个测试用例中,有 $4$ 个子数组的 $\operatorname{XOR}$ 的因子个数为偶数,分别是 $[3]$、$[3,1]$、$[1,2]$、$[2]$。
在第二个测试用例中,有 $11$ 个子数组的 $\operatorname{XOR}$ 的因子个数为偶数,分别是 $[4,2]$、$[4,2,1]$、$[4,2,1,5]$、$[2]$、$[2,1]$、$[2,1,5]$、$[2,1,5,3]$、$[1,5,3]$、$[5]$、$[5,3]$、$[3]$。
在第三个测试用例中,没有任何子数组的 $\operatorname{XOR}$ 的因子个数为偶数,因为任意子数组的 $\operatorname{XOR}$ 结果要么是 $4$,要么是 $0$。
由 ChatGPT 4.1 翻译