与邪恶分组和类似,这次变成了 $0,1,…,m-1$ 和 $0,1,…,n-1$ 的异或和相等。
令 $s_i$ 表示 $0,1,2,…,i$ 的异或和,问题转化为 $s_{m-1}=s_{n-1}$ 。
找规律可以发现当 $n\geq 4$ 时,$n$ 为偶数时无解,$n$ 为奇数时与 $n$ 模 $4$ 同余的都是答案。注意特判 $n<4$ 的情况。
现在问题转化为求公差为 $4$ 的等差数列的前缀异或和。
考虑拆位计算每一位出现了多少次。对于前两位永远是相等的,只需要算一下项数即可。对于后面的位可以计算它在一个 $2^k$ 的块中的哪个位置,处于 $0$ 区答案是 $0$,处于 $1$ 区还需要计算散块中 $1$ 的奇偶性。
时间复杂度 $O(T\log n)$。

