UOJ Logo sharpland的博客

博客

[P522讨论帖] 【P522解题讨论】新讨论

2022-04-30 11:49:10 By sharpland

本题主要利用了xor的特性,对于连续的数字,做xor运算,有特殊的性质。

比如 $2 \quad xor \quad 3 =1$ ,$4 \quad xor \quad 5 =1$

所以,以某个偶数开头的连续数字,每4个的xor值为0。

根据这个特性,我们可以分情况讨论:

如果$a$是奇数,先把$a$ 和 $ans$做异或。

$a+1$必然是偶数,让a++,保证区间起点是偶数

这时我们可以讨论$[a,b]$的长度,如果长度为奇数,即$b$为偶数,让ans再与$b$做异或,且$b--$。

这样就保证了$[a,b]$的长度为偶数。

这时根据长度来判断,如果长度是4的倍数,区间$[a,b]$的异或值为0,否则为1。

评论

暂无评论

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。