问题 5028 --区间异或

5028: 区间异或

题目描述

  给出一个正整数序列 $a_1,a_2,\dots,a_n$。求有多少个区间 $[l,r](1 \leq l \leq r \leq n)$ 的异或和不小于给定的正整数 $k$,即求满足
$$a_l \operatorname{xor} a_{l+1} \operatorname{xor} a_{l+2} \operatorname{xor} \cdots \operatorname{xor} a_{r-1} \operatorname{xor} a_r \geq K$$
的区间 $[l,r]$ 总数。

输入

本题的每个测试点包含多组测试数据。
第一行,一个整数 $T(T\leq 5)$,表示数据组数。
第 $2T$ 行包含两个整数 $n,K$,$n$ 为正整数序列中元素个数,$K$ 的含义如上所述。
第 $2T+1$ 行包含 $n$ 个正整数 $a_1,a_2,\dots,a_n$,即正整数序列中的元素。

输出

输出 $T$ 行,每行一个正整数表示答案。

样例输入输出

输入#1 复制
3
3 1	
1 2 3
3 2
1 2 3
3 3
1 2 3
输出#1 复制
5
3
2

提示

对于 $20\%$ 的数据:$ n \leq 2000$;
对于 $100%$ 的数据:$1 \leq n \leq 10^6$,$1 \leq K \leq 10^9$ , $1 \leq a_i \leq 10^9$。数据有一定梯度。

序号 标题 作者 发表时间 费用 订购数 操作