bzoj2728

题意

bzoj

做法

先来考虑一个弱化版,将操作改成异或
对集合建线性基,然后贪心即可

再回到此题
与非的性质是非常强的

NOT x=x NAND x
x AND y=NOT(x NAND y)
x OR y=(NOT x) NAND (NOT y)
x XOR y=((NOT x)AND y)OR(x AND (NOT y))

结论1:对于两个位置\(i,j\),若对于集合内所有的数,第\(i\)位和第\(j\)位相同,则组合起来的数也相同
结论2:对于两个位置\(i,j\),若对于集合内的任意两个数,第\(i\)位和第\(j\)位不同:对于其四种不同的\((0,0)(1,1)(0,1)(1,0)\)情况,组合起来的数除去这两位后,集合均相同

证明:
我们这样来构造线性基,第\(i\)位元素为\(\And_{k=1}^n(a_k[i]==1?a_k:NOT~a_k)\),这样能使第\(i\)位元素为相等位为\(1\),否则为\(0\)
然后在组合时使用或操作即可

按结论2构造的方法构造线性基,然后贪心即可

posted @ 2020-03-30 19:11  Grice  阅读(73)  评论(0编辑  收藏  举报