T286378 异或数列 (xor)
题目背景
$jb$,都是建$B$ \se
题目描述
即墨计算机职业技术学院的 $R$ 老师对位运算颇有研究。
$R$ 老师给了你一个数列 $a_1, a_2, . . . a_n$。数列中的数都是非负整数。
$R$ 老师会进行 $q$ 次操作,每次操作会给你两个数字 $p$, $x$,要求你把 $a_p$ 和 $a_{p+1}$ 都对 $x$ 做
一次按位异或。每次操作完后,你必须告诉 $R$ 老师,当前的数列里有多少个子区间 $[l, r]$ 满足
$l ≤ r$ 且区间按位异或和为 $0$。
一个区间 $[l, r]$ 的按位异或和 f(l, r) 定义为:
$$
f(l, r)=\left\{\begin{array}{ll}
f(l, r-1) \bigoplus a_{r}, & l
输入格式
第一行是两个正整数,依次表示数列 $a$ 的长度 $n$ 和操作的次数 $q$。
第二行有 $n$ 个整数表示数列 $a$,第 $i$ 个整数表示 $a_i$。
接下来 $q$ 行,每行两个整数 $p, x$,表示一次操作
输出格式
对每次询问,输出一行一个整数表示答案。
说明/提示
【样例 1 解释】
- 第一次操作后,序列变为 $2, 1, 3, 4, 5,$有且仅有区间 [1, 3] 的异或和为 0,故本次询问的
答案为 1。
- 第二次操作后,序列变为 $2, 2, 0, 4, 5,$ 区间 $[1, 2]、[1, 3]、[3, 3]$ 的异或和为 0,故本次询
问的答案为 3。
- 第三次操作后,序列变为 $2, 2, 3, 7, 5,$有且仅有区间 $[1, 2]$ 的异或和为 0,故本次询问的
答案为 1。
【数据规模与约定】
- 对 $10\%$ 的数据,保证 $n, m ≤ 100。$
- 对 $20\%$ 的数据,保证 $n, m ≤ 300。$
- 对 $40\%$的数据,保证 $n, m ≤ 3000。$
- 对 $70\%$ 的数据,保证 $n, m ≤ 10^5,ai
, x ≤ n。$
- 对 $100\%$ 的数据,保证 $1 ≤ n, m ≤ 10^6,1 ≤ a_i
, x ≤ 10^9,1 ≤ p ≤ n。$