摘要:
位运算的应用 1、不用加减乘除做加法 写一个函数, 求两个整数之和, 要求在函数体内不得使用+、-、×、÷ 四则运算符号 两个数相加的和 $=$ 异或和 $+$ 进位 即 $a + b = a ^ b + (a $ & $ b) << 1 $ 其中, $a$ & $b$ 具有 $ \leq min( 阅读全文
posted @ 2020-10-06 17:16
yikanji
阅读(192)
评论(0)
推荐(1)
摘要:
按位枚举确定答案 在二进制数中, 高位取1所产生的数比所有低位都取1形成的数都大, 即 $ 1 << n > (1 << n) - 1 $ 可以在确定答案的时候运用贪心的思想, 即能在高位取1就在高位取1 起床困难综合征 给定 $n$ 个运算, 每个运算中有两个参数, 操作 $ (or/xor/an 阅读全文
posted @ 2020-10-06 16:58
yikanji
阅读(133)
评论(0)
推荐(0)
摘要:
二进制状态压缩 使用一个长度为 $m$ 的二进制数来表示并存储一个长度为 $m$ 的 $bool$ 数组 通过一系列操作可以实现原 $bool$ 数组中对应下标的存取 操作 运算 取出整数n在二进制表示下的第k位 取出整数n在二进制表示下的第0 ~ k-1位 把整数n在二进制表示下的第k位取反 对整 阅读全文
posted @ 2020-10-06 15:51
yikanji
阅读(145)
评论(0)
推荐(0)
摘要:
快速幂 快速地求出 $ a^{b}\;mod\;p $, 其中 $ 1 \leq a,\,b,\,p \leq 10^{9} $ 每一个正整数都有其唯一的二进制表示, 显然每一个正整数也都可以唯一地表示为若干指数不重复的2的次幂的和 即, 设 $b$ 在二进制表示下有 $k$ 位, 其中第 $i\, 阅读全文
posted @ 2020-10-06 15:00
yikanji
阅读(183)
评论(0)
推荐(1)
摘要:
lowbit运算 $ lowbit(n) $定义为非负整数$ n $在二进制表示下最低位的"1"及其后面的所有"0"构成的数值 如当$ n = 10 $, 其二进制表示为$ (1010) $, 则$ lowbit(10) = 2 = (10) $ $ lowbit(n) $的公式推导 设整数 $n$ 阅读全文
posted @ 2020-10-06 13:13
yikanji
阅读(268)
评论(0)
推荐(0)

浙公网安备 33010602011771号