#P1010. [CSP-S 2024] 擂台游戏

[CSP-S 2024] 擂台游戏

编号连续的选手按固定顺序进行二叉淘汰赛:第一轮依次进行 (1,2),(3,4),(1,2),(3,4),\dots 的比赛,后续每轮让相邻的胜者配对。

RR 轮第 GG 场比赛的 dR,G{0,1}d_{R,G}\in\{0,1\} 指定擂主:00 表示较小编号者为擂主,11 表示较大编号者为擂主。若擂主的能力值至少为 RR,则擂主获胜;否则另一位选手获胜,另一位选手的能力值不影响该场结果。

对于每个前缀长度 cc,保留前 cc 位报名选手,并补充到不小于 cc 的最小二次幂人数。补充者编号顺延,其能力值可独立任选 [0,2311][0,2^{31}-1] 中的整数。求在各种补充能力取值下,可能成为冠军的编号之和;每个编号只计一次。抽签 dd 固定,不可任选。

输入通过异或生成多组能力值:第 ii 人的实际能力为 aiXORXimod4a_i\mathbin{\operatorname{XOR}}X_{i\bmod 4},其中 ii11 开始。

输入格式

第一行包含 n,mn,m。第二行包含 nn 个初始能力值 aia_i,第三行包含 mm 个前缀查询 cic_i

K=log2nK=\lceil\log_2 n\rceil。随后给出 KK 行:第 RR 行是一个长度为 2KR2^{K-R} 的无空格 0101 串。再输入一个整数 TT;接下来 TT 行中,第 tt 行给出 X0,X1,X2,X3X_0,X_1,X_2,X_3

输出格式

对每组 XX 输出一行。若 mm 个查询的答案依次为 A1,A2,,AmA_1,A_2,\dots,A_m,则输出

i=1miAi.\bigoplus_{i=1}^{m} i\cdot A_i.

乘法使用足够宽的整数。

样例 1

5 5
0 0 0 0 0
5 4 1 2 3
1001
10
1
4
2 1 0 0
1 2 1 0
0 2 3 1
2 2 0 1
5
19
7
1

数据范围与原题特殊限制

对于所有测试数据,保证:2n,m1052 \leq n, m \leq 10^50ai,Xj<2310 \leq a_i, X_j < 2^{31}1cin1 \leq c_i \leq n1T2561 \leq T \leq 256

测试点 T=T= n,mn,m\leq 特殊性质 A 特殊性质 B
131\sim 3 11 88
4,54,5 500500
686\sim 8
9,109,10 50005000
11,1211,12 10510^5
131513\sim 15
16,1716,17 44
18,1918,19 1616
20,2120,21 6464
22,2322,23 128128
24,2524,25 256256

特殊性质 A:保证询问的 cic_i 均为 22 的幂次。

特殊性质 B:保证所有的 dR,G=0d_{R,G} = 0

来源与数据说明

原题页面。以上题意为重新整理的表述,规则、输入输出和约束与原题一致。本题使用独立生成的训练数据,原题测试点表仅说明原比赛范围与特殊性质,本包评分不复刻官方测试点分布。标准输入输出,不要求文件读写。