天天看點

異或

終于發現有異或的題大多數都沒做出來。。。

于是下定決心整理異或的各種性質之類了。

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\),否則将不滿足條件

是以解題的關鍵在于第一步)