Logo Universal Online Judge

UOJ

时间限制:6 s 空间限制:1024 MB

#1028. 变换

统计

[题目描述]

你学会了FWT变换,你想要将其加强。

这是一个n位的FWT变换,有序列A0,A1,,A2n1,变换成B序列,满足Bi=j|iAj.

现在要求你在线算出A。

具体而言,每次会给出你一个x,并告知你 Ax 的值,并保证当前 i|x,Ai都是已知的。

要求你计算Bx的值。

保证依次给出 2n 个x,且这些x互不相同。

为了保证在线,假设上一个 Bx的答案是pre(若还没输入pre为0),Ax=pre .

为了减少输入量,令L=104 ,初始给出一个序列 c0,c1,,cL1 , 若这是第at个给出的x,则告知的数为 c(at1)%L

为了减少输出量,输出 0i<2nBi 即可。

易知,最开始的x是0。

上面的操作均在 mod 232 的意义下进行。

[输入格式]

第一行一个数 n .

第二行L个整数,表示 c .

接下 2n 行,一行一个整数x,表示给出x的顺序。

[输出格式]

输出

一行一个整数,表示0i<2nBi .

[样例]

见选手目录下bit/bit1.in,bit2.in和bit/bit1.out,bit2.out

[数据范围]

测试点编号 n 分值
1 20 20
2 22 35
3 23 45

对于所有测试点,满足0ci106,0x<2n

大样例下载