1 条题解

  • 0
    @ 2026-6-6 0:40:36

    Atcoder 上有关 xor 的构造题还挺多。

    容易发现 k2mk \geq 2^m 时显然无解。

    接下来先处理些平凡的情况。

    • m=0m=0k=0k=0:显然只有 0 0 这一组解;
    • m=1m=1k=0k=0:样例给了 0 0 1 1 这一组解;
    • m=1m=1k=1k=1:样例告诉我们无解。

    现在开始考虑 m2m \geq 2 的情况,考虑构造一个 k0=kk \oplus 0 = k 的形式。

    注意到 xx=0x \oplus x = 0,于是考虑按如下对称形式构造:

    $$0, 1, \ldots, k-1, k+1, \ldots, 2^m-1, k, 2^m-1, \ldots, k+1, k-1, \ldots, 1, 0, k$$

    对于除了 kk 以外的数字,它们形成的子序列是完全对称的,除了 kk 之外的数字每个数字均出现恰好两次,于是全部抵消,形成了 k0=kk \oplus 0 = k 的形式。

    对于 kk 来说,它形成的子序列中,02m10 \sim 2^m-1 中除了 kk 之外每个数字只出现一次,kk 出现两次。注意到 02m10 \sim 2^m-1 的异或和总为零(对于每一个二进制位,满足该位上值为 1 的数恰好有 2m12^{m-1} 个,总是偶数),于是最后还是 k0=kk \oplus 0 = k 的形式。

    • 1

    信息

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