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

    ID: 4523 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>CSP-S提高级2024年数据结构线段树DP区间最值结构体顺序结构

[CSP-S 2024T4] 擂台游戏

题目描述

小 S 要举办一场擂台游戏。当共有 2k2^k 名选手时,比赛共进行 kk 轮:第一轮由编号 1,21,2 的选手对局,编号 3,43,4 的选手对局,依此类推;以后每轮由上一轮相邻两场的胜者进行对局,直至决出冠军。

ii 名选手的能力值为 aia_i。第 RR 轮第 GG 场比赛的抽签结果记为 dR,G{0,1}d_{R,G}\in\{0,1\}

  • dR,G=0d_{R,G}=0 时,编号较小的选手是擂主;
  • dR,G=1d_{R,G}=1 时,编号较大的选手是擂主。

擂主获胜当且仅当其能力值 aRa\ge R;否则另一名选手获胜。比赛结果只取决于擂主的能力值和当前轮数。

小 S 按报名顺序收到 nn 名选手的信息,并依次编号为 1,2,,n1,2,\ldots,n。对于只有前 cc 名选手报名的情况,设 kk 为满足 2kc2^k\ge c 的最小非负整数,需要再补充 2kc2^k-c 名选手。补充选手的能力值可以在 [0,2311][0,2^{31}-1] 内任意选择。如果某位补充选手在某种能力值选择下能够成为冠军,也要计入可能的冠军。

对于每次询问 cic_i,求所有可能成为冠军的选手编号之和,记为 AiA_i

本题包含 TT 组数据。各组数据仅通过异或改变选手能力值,其余输入均相同。对于每组数据,只需输出所有询问答案按题目规定异或后的结果。

输入格式

本题原题采用文件读写,输入文件名为 arena.in,输出文件名为 arena.out。在 Hydro 上提交时,使用标准输入输出即可。

第一行包含两个正整数 n,mn,m,表示报名选手数量和询问数量。

第二行包含 nn 个非负整数 a1,a2,,ana'_1,a'_2,\ldots,a'_n,用于生成各组数据中的真实能力值。

第三行包含 mm 个正整数 c1,c2,,cmc_1,c_2,\ldots,c_m,表示各次询问的报名人数。

KK 为满足 2Kn2^K\ge n 的最小非负整数。接下来 KK 行中,第 RR 行包含一个长度为 2KR2^{K-R} 的二进制字符串,第 GG 个字符表示 dR,Gd_{R,G}。字符之间没有空格。

接下来一行包含一个正整数 TT,表示数据组数。

接下来 TT 行,每行包含四个非负整数 X0,X1,X2,X3X_0,X_1,X_2,X_3。该组数据中,第 ii 名选手的真实能力值为

ai=aiXimod4a_i=a'_i\oplus X_{i\bmod 4}

其中 \oplus 表示按位异或。

输出格式

输出 TT 行。对于每组数据,设第 ii 次询问的答案为 AiA_i,输出

$(1\times A_1)\oplus (2\times A_2)\oplus \cdots \oplus (m\times A_m)$。

样例

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

来源

CSP-S 2024 第 4 题

数据范围与提示

对于所有测试数据,保证:

  • 2n,m1052 \le n,m \le 10^5
  • 0ai,Xj<2310 \le a'_i,X_j < 2^{31}
  • 1cin1 \le c_i \le n
  • 1T2561 \le T \le 256
测试点 T=T= n,mn,m\le 特殊性质 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