状态压缩动态规划就是用于某种时候DP的状态难以表示时,
使用二进制进行存储状态的一种动态规划。
位运算
1.状态集合S的第i位
s&(1<<i-1)
2.状态集合S的第i位置1
s|(1<<i-1)
3.状态集合S的第i位置0
易错点 注意运算顺序
位运算的优先级一般较低
如这种情况:
if(!s&(1<<i-1))
是错的,应当在!后加上括号
状态压缩动态规划就是用于某种时候DP的状态难以表示时,
使用二进制进行存储状态的一种动态规划。
位运算
1.状态集合S的第i位
s&(1<<i-1)
2.状态集合S的第i位置1
s|(1<<i-1)
3.状态集合S的第i位置0
易错点 注意运算顺序
位运算的优先级一般较低
如这种情况:
if(!s&(1<<i-1))
是错的,应当在!后加上括号