压缩dp的位运算
来源:互联网 发布:鹏博士云计算业务中心 编辑:程序博客网 时间:2024/05/20 23:56
压缩dp用到了二进制位运算上的东西,整理一下基本内容。
位运算的几个基本操作:
1、移位(<< >>)
2、按位与(&)
3、按位或(|)
4、非(~)
5、异或(&)
每个都很简单,c++上都学过,难的实在那几个巧妙的利用上。
1、判断一个数二进制下第i位是0或1 (x & (1<<(i-1)))>0
1<<(i-1)构造出来(...100...)(后面i-1个0),与x做与运算;由于其他位都是0,故相当于只有第i位在做与运算,而构造出来的为1,所以相当于只判断x的第i位。同理,可用(3<<(i-1))、(5<<(i-1))...判断x的连续几位。
2、把x的第i位改为1 x=(x |(1<<(i-1)))
同上。
3、把x的第i位改为0 x=(x & ~(1<<(i-1)))
~(1<<(i-1))相当于构造出来(111101111)(只有第i位为0)的数,做与运算第i位一定为0.
4、把x二进制下最靠右的第一个1去掉 x=(x & (x-1))
阅读全文
0 0
- 压缩dp的位运算
- 位运算在状态压缩DP的运用技巧
- zoj 2297【DP+位运算状态压缩】
- poj 炮兵阵地 状态压缩DP + 位运算
- 关于位运算——状态压缩DP预备知识
- POJ 3628 Bookshelf 2(状态压缩DP+位运算)
- 位运算状态压缩
- DP与位运算的结合
- dp 位运算
- DP+乱搞 位运算
- hdu1429位运算状态压缩
- 位运算(状态压缩)
- 位运算状态压缩——飞行员兄弟的冰箱
- ZOJ-3802-Easy 2048 Again【状态压缩dp】【位运算】【好题】
- UVA 11825Hackers' Crackdown dp+位运算状态压缩(子集枚举)
- noip模拟题 小奇2 by hzwer[DP][路径压缩][分类讨论][位运算]
- HDU 1074 Doing Homework (状态压缩DP+位运算)【一维状压--期限类模板】
- POJ 2411 位压缩dp
- 统计学习方法——第五章决策树
- 虚拟机Linux下安装Elasticsearch
- Linux_Python2_Python3 并存安装笔记
- 服务器运维及部署
- QSettings 中文问题
- 压缩dp的位运算
- Observable详解
- darwin之socket与Task关联
- lua 获取某个数精确到小数点后n位的结果
- Json的增删查改
- 浮点数计算后,强制转换成整型的问题
- hashMap和hashTable
- Intent意图打开电话、邮件、短信、地图、上网
- 文件字节输出流--FileOutputStream