AT_arc152_e.[ARC152E] Xor Annihilation
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在数轴上的 x=1,2,3,…,2N−1 位置上,依次排列着 2N−1 个小球,第 x=i 位置上的小球的重量为 wi。其中,w1,w2,…,w2N−1 是 1 到 2N−1 的一个排列。此外,你可以选择一个不超过 2N−1 的非负整数 Z,并将重量为 Z 的小球分别固定在坐标 x=+100100100 和 x=−100100100 上。之后,所有小球会同时按照如下规则开始运动:
- 在任意时刻,对于每个小球,记其所在坐标右侧所有小球的重量的 XOR 为 R,左侧所有小球的重量的 XOR 为 L。若 R>L,则该小球以每秒 1 的速度向右移动;若 L>R,则向左移动;若 L=R,则静止不动。
- 若有多个小球同时到达同一坐标(包括从左右方向相遇),它们会合并成一个小球,合并后小球的重量为合并前所有小球重量的 XOR。
请问,有多少个 Z 能够使得所有小球在 100100 秒内全部静止?
XOR 是指非负整数 A,B 的按位异或,记作 A⊕B,定义如下:
- A⊕B 的二进制表示中,每一位 2k(k≥0)上的数等于 A,B 的二进制表示在该位上恰有一个为 1 时为 1,否则为 0。
例如,3⊕5=6(二进制为:011⊕101=110)。
一般地,k 个非负整数 p1,p2,p3,…,pk 的按位 XOR 定义为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk),且可以证明其与顺序无关。
输入格式
输入通过标准输入给出,格式如下:
N w1 w2 … w2N−1
输出格式
输出一个整数,表示满足条件的 Z 的个数。
输入输出样例
输入#1
2 1 2 3
输出#1
1
输入#2
3 7 1 2 3 4 5 6
输出#2
2
说明/提示
数据范围
- 2≤N≤18
- 1≤wi≤2N−1
- 当 i=j 时 wi=wj
- 输入的所有值均为整数
样例解释 1
我们将重量为 i 的小球简称为 i。例如,当 Z=0 时,初始时 1 和 2 向右移动,3 向左移动。随后 2 和 3 相遇并合并,合并后的小球开始向左移动。最终,当 1 到 3 的所有小球合并后,合并后的小球静止。因此,Z=0 满足条件。而当 Z=3 时,1 和 2 向左移动,3 向右移动,所有小球会朝着固定的重量移动很长时间,因此 Z=3 不满足条件。实际上,只有 Z=0 满足条件,所以答案为 1。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?