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。$