AT_agc071_a.[AGC071A] XOR Cross Over

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有一块黑板,上面写有非负整数序列。初始时,黑板上仅写有一个长度为 $ N $ 的非负整数序列 $ A=(A_1,A_2,\dots,A_N) $。

持续进行以下操作,直到黑板上所有非负整数序列的长度均为 $ 1 $:

  • 选择黑板上一个长度至少为 $ 2 $ 的非负整数序列并将其擦除。设选中的非负整数序列为 $ B=(B_1,B_2,\dots,B_n) $。接着选择一个满足 $ 1 \leq k < n $ 的整数 $ k $,计算 $ X = B_1 \oplus B_2 \oplus \dots \oplus B_k $ 和 $ Y = B_{k+1} \oplus B_{k+2} \oplus \dots \oplus B_n 。最后在黑板写入两个新的非负整数序列:。最后在黑板写入两个新的非负整数序列: (B_1 \oplus Y, B_2 \oplus Y, \dots, B_k \oplus Y) $ 和 $ (B_{k+1} \oplus X, B_{k+2} \oplus X, \dots, B_n \oplus X) $。

其中,$ \oplus $ 表示按位异或(bitwise XOR)运算。

在完成所有操作后,设黑板上 $ N $ 个长度为 $ 1 $ 的非负整数序列为 $ (C_1),(C_2),\dots,(C_N) $,求 $ \sum_{i=1}^{N}C_i $ 可能的最小值。

按位异或运算的定义
非负整数 $ A $ 和 $ B $ 的按位异或 $ A \oplus B $ 定义如下:

  • $ A \oplus B $ 的二进制表示中,$ 2^k $ 位($ k \geq 0 $)的值为 $ 1 $,当且仅当 $ A $ 和 $ B $ 的二进制表示在 $ 2^k $ 位恰好有一个为 $ 1 $;否则为 $ 0 $。

例如,$ 3 \oplus 5 = 6 $(二进制表示为 $ 011 \oplus 101 = 110 )。一般而言,)。 一般而言, k $ 个非负整数 $ p_1, p_2, \dots, p_k $ 的按位异或定义为 $ (\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k) $,并且可以证明该结果与运算顺序无关。

输入格式

输入从标准输入按以下格式给出:

$ N $
$ A_1 $ $ A_2 $ $ \dots $ $ A_N $

输出格式

输出答案。

输入输出样例

  • 输入#1

    4
    1 3 4 5

    输出#1

    6
  • 输入#2

    7
    1 5 14 23 20 18 20

    输出#2

    39
  • 输入#3

    20
    246260893965 450834729933 1091503137264 661761201979 238822689279 375606126051 183045127603 1004516515418 976478741401 957665143474 451659136716 828528157302 204109014940 184065081345 122138832666 130646707415 144391522538 87966805947 381909891703 343575641318

    输出#3

    3597854777632

说明/提示

约束条件

  • $ 1 \leq N \leq 500 $
  • $ 0 \leq A_i < 2^{40} $
  • 输入值均为整数

样例解释 #1

初始时,黑板上的序列为 $ (1,3,4,5) $。按以下步骤操作:

  1. 擦除 $ (1,3,4,5) $,选择 $ k=2 $。计算得 $ X = 1 \oplus 3 = 2 ,, Y = 4 \oplus 5 = 1 $。在黑板写入两个新序列 $ (0,2) $ 和 $ (6,7) $。
  2. 擦除 $ (0,2) $,选择 $ k=1 $。黑板写入两个新序列 $ (2) $ 和 $ (2) $。
  3. 擦除 $ (6,7) $,选择 $ k=1 $。黑板写入两个新序列 $ (1) $ 和 $ (1) $。
    最终黑板上的四个序列为 $ (2),(2),(1),(1) $,总和为 $ 2+2+1+1=6 $。

翻译由 DeepSeek R1 完成

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

首页