码迷,mamicode.com
首页 > 其他好文 > 详细

2019/2/6 写给自己背包问题的小总结,

时间:2019-02-06 11:57:38      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:完全背包   个数   nbsp   问题   初始化   inf   多重   选择   背包   

背包问题:

①.  0/1背包, 每个物品只有1个,即只能选或者不选, 用结构体存贮每个物品的重量和价值,

                    然后fori(遍历每个物品),再forj(1-i);

②.  完全背包.每个物品都有无限个,可以选择无限个, 用结构体存贮每个物品的重量和价值,

                    然后fori(遍历每个物品),再forj(i-1);

③.  多重背包.每个物品有有限个数,可以选择特定个,用二进制优化,将每种相同物品拆解成捆绑在一起的数个可看成单个的物品,

                   然后当做0/1背包来求解.

 

是否恰好装满, 

①. 没要求恰好装满,那么dp初始化全为0;

②. 要求恰好装满,那么dp[0]=0;dp[其他]=负inf;

2019/2/6 写给自己背包问题的小总结,

标签:完全背包   个数   nbsp   问题   初始化   inf   多重   选择   背包   

原文地址:https://www.cnblogs.com/yuanweidao/p/10353544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!