cf2039c1
y>=2x 时, x<x⊕y<2y 无解
cf2039c2
雅礼哥体育课爆切。
1.若是 x 的倍数
只要 x⊕y=kx
y=(kx)⊕x
kx−x<=(kx)⊕x<=kx+x
这是因为异或可以看作不进位加 不借位减
当 kx+x<=m 即 2<=k<=m/x−1 一定能让 y 在[1,m] 之间, $ k=1$ 的情况会让 x=y 若这种情况存在会在下面处理掉,同时这个情况不能被计算两次。
当 kx−x>m 即 k>m/x+1 一定不合法
那么再检验 m/x<=k<=m/x+1 之间的情况就行了
2.若是 y 的倍数 发现 y>=2x 无解
只要枚举 y<=min(2x,m) 就行了
cf2071D1
注意到 00=0,11=1
超过n后 相邻偶数项奇数项对答案无贡献。