1 条题解

  • 0
    @ 2026-9-9 9:04:26

    题解

    思路

    任意两项的异或值在操作前后保持不变;而只要至少进行一次操作,最后一次选中的元素会变成 00。

    做法

    因此所有可达序列恰好是原序列,以及对某个原始元素 AkA_k 将全体异或 AkA_k 得到的序列。于是只需枚举 x∈{0,A1,…,AN}x\in\{0,A_1,\ldots,A_N\},计算 ∑i(Ai⊕x)\sum_i(A_i\oplus x) 的最大值。

    对每个二进制位预处理原序列中该位为 11 的元素个数。若 xx 在这一位为 00,贡献为原有的 11 的数量;若为 11,贡献则来自原有的 00。

    复杂度

    这样每个候选只需检查 30 位,总时间复杂度为 O(30N)O(30N),空间复杂度为 O(N)O(N)。

    • 1

    信息

    ID
    1595
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者