1 条题解

  • 0
    @ 2026-9-9 9:14:19

    题解

    思路

    固定操作次数 kk,把异或看成模 22 的逐位加法。

    做法

    重复做一维前缀和后,初始的 AiA_i 对最终 ANA_N 的贡献次数为 (N−i+k−1k−1)\binom{N-i+k-1}{k-1}。由 Lucas 定理,这个组合数为奇数当且仅当 (N−i)&(k−1)=0(N-i)\mathbin{\&}(k-1)=0,因此答案是所有满足该条件的 AiA_i 的异或。

    取不小于 max⁡(N,M)\max(N,M) 的最小二次幂 SS,令 x=N−ix=N-i,再令 y=S−1−xy=S-1-x。由于 S−1S-1 的低位全为 11,条件等价于 k−1k-1 的所有置位都包含在 yy 中。把 AiA_i 放到下标 yy,对数组做“超集异或和”高维前缀和:枚举每一位,将含有该位的状态异或到不含该位的状态。变换后下标 k−1k-1 的值就是第 kk 个答案。

    复杂度

    时间复杂度为 O(Slog⁡S)O(S\log S),空间复杂度为 O(S)O(S)。

    • 1

    信息

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