位运算
ITCharge
高效率编程,慢节奏生活。
展开
-
HDU1390_Binary Numbers【水题】【位运算】
题目大意:给你一个数N,输出N的二进制形式上为1的数位(从右至左) 思路:每次(N&1)判断末尾是否为1,为1则存入数组ans[]中,不为1则 不存,之后数位自增,N向右移一位,继续判断末尾……原创 2014-11-26 22:54:19 · 1986 阅读 · 0 评论 -
HDU1196_Lowest Bit【位运算】【水题】
题目大意:给你一个数A,求它的二进制表示中最右边的1表示的数 比如:26的二进制表示为11010,最右边的1表示的数为00010。 思路:位运算,其实就是求A & (A ^ (A-1) ),即A & (A-1)原创 2014-10-29 21:04:57 · 1206 阅读 · 0 评论 -
HDU5491 The Next【二进制】
题目大意: L 是整数 D 的二进制中 1 的个数,如果 s1 <= L <= s2,则称 D 是一个 WYH数。 现在给你一个整数 D 和 s1、s2,求比 D 大的下一个 WYH数是多少。 解题思路: 参考博文:http://blog.csdn.net/joyce__yin/article/details/48786131 从低位向高位考虑。 用数组 Num[] 来存 D 的二进制形式(从低位到高位),Sum[] 来存储二进制从高位到 当前位上 1 的个数。然后从低位到高位枚举 D原创 2015-10-02 19:14:26 · 583 阅读 · 0 评论