1 条题解

  • 0
    @ 2026-9-9 8:58:20

    题解

    思路

    比较 xxorNx\mathbin{\mathrm{xor}}N 与 NN 时,最高个发生变化的二进制位就是 xx 的最高置位。

    做法

    若该位在 NN 中为 1,异或后它从 1 变为 0,结果必然更小;若在 NN 中为 0,结果必然更大。因此,合法 xx 的最高置位必须也是 NN 的置位。

    枚举每个置位 kk。所有最高置位为 kk 的正整数恰好构成区间 [2k,2k+1−1][2^k,2^{k+1}-1],把它与 [L,R][L,R] 的交集长度累加即可。

    复杂度

    时间复杂度为 O(log⁡N)O(\log N),额外空间为 O(1)O(1)。

    • 1

    信息

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