#S44M10T4. 基础比特歪子练习题

基础比特歪子练习题

题目背景

比特歪子叉哦啊

题目描述

有一个长度为 2n2^n ,下标从 11 开始的的序列 aa,保证是 00 到 2n−12^n-1 的排列。

定义一个区间的权值为,选择一个 vv,将这个区间里的数都 xor 上 vv 之后,区间内数 mex⁡\operatorname{mex} 的最大值。其中 mex⁡\operatorname{mex} 定义为最小的没有出现的自然数。

有 qq 个询问,每个询问用一个区间 [l,r][l,r] 表示,你需要对于每个询问,求出所有区间 [x,y][x,y] 满足 l≤x≤y≤rl\leq x\leq y\leq r 的权值和。

输入格式

第一行两个数 n,qn,q。

第二行 2n2^n 个数,表示序列 aa。

接下来 qq 行每行两个数 l,rl,r,表示一次询问。

输出格式

对于每个询问,输出权值和。

样例

样例输入 1

2 4
3 2 0 1
1 3
2 3
1 2
1 4

样例输出 1

9
3
4
19

样例 2,3,4

见下发文件,分别满足测试点 5∼7,10∼14,15∼175\sim 7,10\sim 14,15\sim 17 的限制。

提示与说明

测试点编号 特殊限制
11 是样例
2∼42\sim 4 n≤8,q≤103n\leq 8,q\leq 10^3
5∼75\sim 7 n≤12n\leq 12
8∼98\sim 9 ai=i−1a_i=i-1
10∼1410\sim 14 q=1q=1
15∼1715\sim 17 n≤15,q≤105n\leq 15,q\leq 10^5
18∼2018\sim 20 无特殊限制

对于全部数据,n≤17,q≤5×105n\leq 17,q\leq 5\times 10^5,aa 保证为 00 到 2n−12^n-1 的排列。