#P4462. [CQOI2018] 异或序列

    ID: 3393 远端评测题 1000ms 500MiB 尝试: 3 已通过: 3 难度: 5 上传者: 标签>前缀和线段树莫队进制各省省选2018重庆

[CQOI2018] 异或序列

题目描述

已知一个长度为 nn 的整数数列 a1,a2,,ana_1,a_2,\dots,a_n,给定查询参数 l,rl,r,问在 al,al+1,,ara_l,a_{l+1},\dots,a_r 区间内,有多少子区间满足异或和等于 kk。也就是说,对于所有的 x,y(lxyr)x,y (l \leq x \leq y \leq r),能够满足 axax+1ay=ka_x \oplus a_{x+1} \oplus \dots \oplus a_y = kx,yx,y 有多少组。

输入格式

输入文件第一行,为 33 个整数 n,m,kn,m,k

第二行为空格分开的 nn 个整数,即 a1,a2,..ana_1,a_2,..a_n

接下来 mm 行,每行两个整数 lj,rjl_j,r_j,表示一次查询。

输出格式

输出文件共 mm 行,对应每个查询的计算结果。

4 5 1
1 2 3 1
1 4
1 3
2 3
2 4
4 4
4
2
1
2
1

提示

对于 30%30\% 的数据,1n,m10001 \leq n, m \leq 1000

对于 100%100\% 的数据,1n,m1051 \leq n, m \leq 10^50k,ai1050 \leq k, a_i \leq 10^51ljrjn1 \leq l_j \leq r_j \leq n