終于發現有異或的題大多數都沒做出來。。。
于是下定決心整理異或的各種性質之類了。
1. 歸零律:
2. 恒等律:
3. 交換律:
4. 結合律:
;
5. 自反:
.
更有用的結論:若\(a\oplus b=c\),那麼\(a \oplus c =b\)
例題:
CF1554C Mikasa
考慮\(n \oplus a=b\),其中\(a>m\),求最小的\(b\)
于是我們可以有\(n \oplus b=a\)
即構造一個最小的\(b\),使其滿足\(n\oplus b≥ m+1\)即可。
于是我們可以按位考慮這個問題,考慮某一位出現以下情況時:
- 當\(n=1, m+1=1\)時,\(b\)隻能為\(0\),否則構造出來的數會更小。
- 當\(n=1, m+1=0\)時,從滿足條件角度來說b可以為0或1,但我們應該讓b為\(0\)且b的後面所有位全為0,此時就可以保證構造出的數大于m且b最小
- 當\(n=0,m=0/1\)時,隻能讓\(b=0/1\),否則将不滿足條件
是以解題的關鍵在于第一步)