AKSZ-贪心算法
2024-03-24 17:44:36
发布于:广东
贪心算法
写在前面
贪心是一种思想(策略),不是一种算法!
贪心算法(greedy algorithm),又称贪婪算法。
提醒:选择当前局部最优解,不一定全局最优。
贪心要求:无后效性
进制转换(x转10)
1.按照小数点划分左右;
2.小数点往左写上对应权值
3.小数点往右写上对应权值
4.结果=.
位运算
1.按位与 &
按位与&的运算规则,将两个二进制数低位对齐,不足高位补零。对两个数字进行比较,只有当两个相对应的二进制位都为1时,结果相应位才为1,其余为0.
x&(x-1)可以快速判断一个数是不是
2.按位或 |
按位与|的运算规则,将两个二进制数低位对齐,不足高位补零。对两个数字进行比较,只有当两个相对应的二进制位其中一个为1时,结果相应位才为1,其余为0.
3.按位非 ~
按位与~的运算规则,将两个二进制数每一位取反,0变1,1变0.
应用:~1=0
4.按位异或^
按位与|的运算规则,将两个二进制数低位对齐,不足高位补零。对两个数字按位进行比较,当两个相对应的二进制位同时为0时,不同时为1.异或满足交换率:aba=aab
5.按位右移>>
- 按位右移>>的运算规则,>>a就将二进制数右移a位,低位丢弃。
- 右移1相当于。
6.按位左移<<
- 按位左移<<的运算规则,<<a就将二进制数左移a位,高位左移,低位补零。
- 左移1相当于。
例题:
12^32&9|18
A.26 B.30 C.32 D.44
参考答案:B
这里空空如也
有帮助,赞一个