atcoder#ARC098B. [ABC098D] Xor Sum 2
[ABC098D] Xor Sum 2
题目描述
長さ の整数列 があります。
次の条件を満たす整数 , ( ) の組の個数を求めてください。
- $ A_l\ xor\ A_{l+1}\ xor\ ...\ xor\ A_r\ =\ A_l\ +\ A_{l+1}\ +\ ...\ +\ A_r $
xorの説明
整数 の は以下のように定義されます。
- の値を とおく。 を 進数表記したときの ( , は整数 ) の位の値は、 のうち、 進数表記したときの の位の値が となるものが奇数個ならば 、偶数個ならば となる。
例えば、 と の の値は、 の 進数表記が 、 の 進数表記が のため、 進数表記が の となります。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
条件を満たす整数 , ( ) の組の個数を出力せよ。
题目大意
给你一串数
求出满足$a_l+\cdots +a_r=a_l\operatorname{xor}\cdots\operatorname{xor}a_r,l\le r$ 的 的数量
$1\le n\le 200000,\forall 1\le i\le n,0\le a_i<2^{20}(1048576)$
4
2 5 4 6
5
9
0 0 0 0 0 0 0 0 0
45
19
885 8 1 128 83 32 256 206 639 16 4 128 689 32 8 64 885 969 1
37
提示
制約
- 入力はすべて整数である
Sample Explanation 1
明らかに、 は条件を満たします。 また、 の場合、 となるので、これも条件を満たします。 ほかに条件を満たす組はないので、答えは になります。