题库练习 Even Subarrays
← 上一题 下一题 →

A15463 | Even Subarrays

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

You are given an integer array $a_1, a_2, \dots, a_n$ ( $1 \le a_i \le n$ ).

Find the number of subarrays of $a$ whose $\operatorname{XOR}$ has an even number of divisors. In other words, find all pairs of indices $(i, j)$ ( $i \le j$ ) such that $a_i \oplus a_{i + 1} \oplus \dots \oplus a_j$ has an even number of divisors.

For example, numbers $2$ , $3$ , $5$ or $6$ have an even number of divisors, while $1$ and $4$ — odd. Consider that $0$ has an odd number of divisors in this task.

Here $\operatorname{XOR}$ (or $\oplus$ ) denotes the [bitwise XOR operation](https://en.wikipedia.org/wiki/Bitwise_operation#XOR).

Print the number of subarrays but multiplied by 2022... Okay, let's stop. Just print the actual answer.

输入格式

Each test contains multiple test cases. The first line contains the number of test cases $t$ ( $1 \leq t \leq 10^4$ ). Description of the test cases follows.

The first line of each test case contains a single integer $n$ ( $2 \leq n \leq 2 \cdot 10^5$ ) — the length of the array $a$ .

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ( $1 \leq a_i \leq n$ ).

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$ .

输出格式

For each test case, print the number of subarrays, whose $\operatorname{XOR}$ has an even number of divisors.

输入输出样例

输入 #1
4
3
3 1 2
5
4 2 1 5 3
4
4 4 4 4
7
5 7 3 7 1 7 3
输出 #1
4
11
0
20
C++ 编辑器
输入
输出