位运算妙妙题

cf2039c1

y>=2xy>=2x 时, x<xy<2yx< x \oplus y < 2y 无解

cf2039c2

雅礼哥体育课爆切。

1.若是 xx 的倍数

只要 xy=kxx \oplus y =kx

y=(kx)xy=(kx)\oplus x

kxx<=(kx)x<=kx+xkx-x<=(kx)\oplus x<=kx+x

这是因为异或可以看作不进位加 不借位减

kx+x<=mkx+x<=m2<=k<=m/x12<=k<= m/x-1 一定能让 yy[1,m][1,m] 之间, $ k=1$ 的情况会让 x=yx=y 若这种情况存在会在下面处理掉,同时这个情况不能被计算两次。

kxx>mkx-x>mk>m/x+1k>m/x+1 一定不合法

那么再检验 m/x<=k<=m/x+1m/x<=k<=m/x+1 之间的情况就行了

2.若是 yy 的倍数 发现 y>=2xy>=2x 无解

只要枚举 y<=min(2x,m)y<=min(2x,m) 就行了

cf2071D1

注意到 00=0,11=1
超过n后 相邻偶数项奇数项对答案无贡献。