状态压缩(状压dp)

   日期:2020-08-21     浏览:89    评论:0    
核心提示:状态压缩(状压dp)注:在涉及到位运算时,一定要注意位运算的优先级。该加的括号一定要加定义状态(例如) 求每一种放法的背包价值,状态应该是这n件物品的放与不放的情况。最容易想到的是开个n维数组,第i个维度的下标如果是1的话代表放第i件物品,0的话代表不放第i件物品;但是这样很容易造成空间浪费,而且多维数组也不好开;我们仔细观察就会发现,每件物品有放与不放两种选择;假设我们有5件物品的时候,用1和0代表放和不放如果这5件物品都不放的话,那就是00000;如果这5件物品都放的话, 那

状态压缩(状压dp)

注:在涉及到位运算时,一定要注意位运算的优先级。该加的括号一定要加

定义状态(例如) 求每一种放法的背包价值,状态应该是这n件物品的放与不放的情况。

最容易想到的是开个n维数组,第i个维度的下标如果是1的话代表放第i件物品,0的话代表不放第i件物品;

但是这样很容易造成空间浪费,而且多维数组也不好开;

我们仔细观察就会发现,每件物品有放与不放两种选择;假设我们有5件物品的时候,用1和0代表放和不放

如果这5件物品都不放的话,那就是00000;
如果这5件物品都放的话, 那就是11111;

看到这,我们知道可以用二进制表示所有物品的放与不放的情况;如果这些二进制用十进制表示的话就只有一个维度了。而且这一个维度能表示所有物品放与不放的情况;这个过程就叫做状态压缩;

状态压缩

状压dp

练习题(正在更新)

车||
炮兵阵地

谢谢

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服