逻辑代数,按位运算(UESTC 491,Tricks in Bits)
看了很多题解和代码,感觉证明都不太对,所以自己尝试证明一下。解法:N大于6直接输出0,否则枚举。运算符只用&,枚举每个数是否取~,时间复杂度O(2^N),N最多才6,所以可以当成O(1)了。为什么大于6直接输出0呢?这个证明都没什么问题,就是说,a&b,a&~b,中至少有一个能使a中1的个数减少一半,a最多有64个1,所以最多&6次,a就可以变成0。其实到这
原创
2017-05-02 19:12:02 ·
359 阅读 ·
0 评论