异或

终于发现有异或的题大多数都没做出来。。。

于是下定决心整理异或的各种性质之类了。

 

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\),否则将不满足条件

所以解题的关键在于第一步)


CF1338B Edge Weight Assignment

异或和为0的题目,通常可以考虑把异或和拆成两个部分,令两个部分的异或和相同(Team异或和)

这个题,我们先找一个度数大于1的点为根。

这样题目要求就是所有点到根的异或和相同。(我去这也太妙了)

最小种类:偶数条路径的全1 奇数条路径的为:奇数个1+一个2+一个3

所以有奇数的3种,否则一种。

最多:可以发现只有如果两个叶子的父亲相同,那这两条边也必须相同。其他边都可以不同。

本题重点在于找根。

posted @ 2021-08-03 19:07  lei_yu  阅读(148)  评论(0编辑  收藏  举报