首先,如果你做了异或和检查,请一定注意异或的运算优先级问题。不要像我一样写出了 xorans == qxor(r)^qxor(l-1) 然后调了三天都没找到错。(正确的是 xorans == (qxor(r)^qxor(l-1)),我都不知道为什么写错了还有 72pts)。
xorans == qxor(r)^qxor(l-1)
xorans == (qxor(r)^qxor(l-1))
其次,正如 elbissoPtImaerD 神犇所说,由于 666 在 mod 264\mod 2^{64}mod264 意义下没有逆元,所以我们我们可以对 n(n+1) 和 (2n+1)n(n+1) \text{ 和 } (2n+1)n(n+1) 和 (2n+1) 分别判断能否除以 222 和 333,详细可以参考 iuyi 的题解的写法。