#C1049. [CSP-S 2024T4] 擂台游戏
[CSP-S 2024T4] 擂台游戏
题目描述
小 S 要举办一场擂台游戏。当共有 名选手时,比赛共进行 轮:第一轮由编号 的选手对局,编号 的选手对局,依此类推;以后每轮由上一轮相邻两场的胜者进行对局,直至决出冠军。
第 名选手的能力值为 。第 轮第 场比赛的抽签结果记为 :
- 时,编号较小的选手是擂主;
- 时,编号较大的选手是擂主。
擂主获胜当且仅当其能力值 ;否则另一名选手获胜。比赛结果只取决于擂主的能力值和当前轮数。
小 S 按报名顺序收到 名选手的信息,并依次编号为 。对于只有前 名选手报名的情况,设 为满足 的最小非负整数,需要再补充 名选手。补充选手的能力值可以在 内任意选择。如果某位补充选手在某种能力值选择下能够成为冠军,也要计入可能的冠军。
对于每次询问 ,求所有可能成为冠军的选手编号之和,记为 。
本题包含 组数据。各组数据仅通过异或改变选手能力值,其余输入均相同。对于每组数据,只需输出所有询问答案按题目规定异或后的结果。
输入格式
本题原题采用文件读写,输入文件名为 arena.in,输出文件名为 arena.out。在 Hydro 上提交时,使用标准输入输出即可。
第一行包含两个正整数 ,表示报名选手数量和询问数量。
第二行包含 个非负整数 ,用于生成各组数据中的真实能力值。
第三行包含 个正整数 ,表示各次询问的报名人数。
设 为满足 的最小非负整数。接下来 行中,第 行包含一个长度为 的二进制字符串,第 个字符表示 。字符之间没有空格。
接下来一行包含一个正整数 ,表示数据组数。
接下来 行,每行包含四个非负整数 。该组数据中,第 名选手的真实能力值为
,
其中 表示按位异或。
输出格式
输出 行。对于每组数据,设第 次询问的答案为 ,输出
$(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 题
数据范围与提示
对于所有测试数据,保证:
- 。
- 。
- 。
- 。
| 测试点 | 特殊性质 A | 特殊性质 B | ||
|---|---|---|---|---|
| 否 | 否 | |||
| 是 | ||||
| 否 | 是 | |||
| 否 | ||||
| 是 | ||||
| 否 | 是 | |||
| 否 | ||||
- 特殊性质 A:所有询问的 均为 的幂。
- 特殊性质 B:所有 。