题解 CF2180E No Effect XOR

· · 题解

题解 CF2180E No Effect XOR

其他题

题意

给定 l,r,求使得 \forall i\in[l,r],i\oplus x\in[l,r] 的正整数 x 的个数。

数据范围:多测,t\le 10^5,l,r\le 10^{15}

做法

题解不太像人。这里讲讲按位考虑的做法。(upd:题解更按位考虑版了,虽然我没看。)

首先显然在 l\oplus r 最高位以上的部分是不贡献的,因为 [l,r] 内所有数在这些位上都只有一种取值,即 x 的这些位上只能填入 0

然后我们假设 l\oplus r 的最高位为 k,则我们考虑第 k 位放 0 还是放 1

两种情况相加减一(x 不能取 0)即可。复杂度单组 O(\log V)