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,3,4,5) $,选择 $ k=2 $。计算得 $ X = 1 \oplus 3 = 2 , Y = 4 \oplus 5 = 1 $。在黑板写入两个新序列 $ (0,2) $ 和 $ (6,7) $。
- 擦除 $ (0,2) $,选择 $ k=1 $。黑板写入两个新序列 $ (2) $ 和 $ (2) $。
- 擦除 $ (6,7) $,选择 $ k=1 $。黑板写入两个新序列 $ (1) $ 和 $ (1) $。
最终黑板上的四个序列为 $ (2),(2),(1),(1) $,总和为 $ 2+2+1+1=6 $。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?