AT_arc152_e.[ARC152E] Xor Annihilation

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在数轴上的 x=1,2,3,…,2N−1x=1,2,3,\ldots,2^N-1 位置上,依次排列着 2N−12^N-1 个小球,第 x=ix=i 位置上的小球的重量为 wiw_i。其中,w1,w2,…,w2N−1w_1,w_2,\ldots,w_{2^N-1} 是 11 到 2N−12^N-1 的一个排列。此外,你可以选择一个不超过 2N−12^N-1 的非负整数 ZZ,并将重量为 ZZ 的小球分别固定在坐标 x=+100100100x=+100^{100^{100}} 和 x=−100100100x=-100^{100^{100}} 上。之后,所有小球会同时按照如下规则开始运动:

  • 在任意时刻,对于每个小球,记其所在坐标右侧所有小球的重量的 XOR\mathrm{XOR} 为 RR,左侧所有小球的重量的 XOR\mathrm{XOR} 为 LL。若 R>LR>L,则该小球以每秒 11 的速度向右移动;若 L>RL>R,则向左移动;若 L=RL=R,则静止不动。
  • 若有多个小球同时到达同一坐标(包括从左右方向相遇),它们会合并成一个小球,合并后小球的重量为合并前所有小球重量的 XOR\mathrm{XOR}。

请问,有多少个 ZZ 能够使得所有小球在 100100100^{100} 秒内全部静止?

XOR\mathrm{XOR} 是指非负整数 A,BA,B 的按位异或,记作 A⊕BA\oplus B,定义如下:

  • A⊕BA\oplus B 的二进制表示中,每一位 2k2^k(k≥0k\geq 0)上的数等于 A,BA,B 的二进制表示在该位上恰有一个为 11 时为 11,否则为 00。

例如,3⊕5=63\oplus 5=6(二进制为:011⊕101=110011\oplus 101=110)。
一般地,kk 个非负整数 p1,p2,p3,…,pkp_1,p_2,p_3,\dots,p_k 的按位 XOR\mathrm{XOR} 定义为 (…((p1⊕p2)⊕p3)⊕⋯⊕pk)(\dots((p_1\oplus p_2)\oplus p_3)\oplus\dots\oplus p_k),且可以证明其与顺序无关。

输入格式

输入通过标准输入给出,格式如下:

NN w1w_1 w2w_2 …\ldots w2N−1w_{2^N-1}

输出格式

输出一个整数,表示满足条件的 ZZ 的个数。

输入输出样例

  • 输入#1

    2
    1 2 3

    输出#1

    1
  • 输入#2

    3
    7 1 2 3 4 5 6

    输出#2

    2

说明/提示

数据范围

  • 2≤N≤182\leq N\leq 18
  • 1≤wi≤2N−11\leq w_i\leq 2^N-1
  • 当 i≠ji\neq j 时 wi≠wjw_i\neq w_j
  • 输入的所有值均为整数

样例解释 1

我们将重量为 ii 的小球简称为 ii。例如,当 Z=0Z=0 时,初始时 11 和 22 向右移动,33 向左移动。随后 22 和 33 相遇并合并,合并后的小球开始向左移动。最终,当 11 到 33 的所有小球合并后,合并后的小球静止。因此,Z=0Z=0 满足条件。而当 Z=3Z=3 时,11 和 22 向左移动,33 向右移动,所有小球会朝着固定的重量移动很长时间,因此 Z=3Z=3 不满足条件。实际上,只有 Z=0Z=0 满足条件,所以答案为 11。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页