其他分享
首页 > 其他分享> > 2019/2/6 写给自己背包问题的小总结,

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

作者:互联网

背包问题:

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

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

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

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

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

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

 

是否恰好装满, 

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

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

标签:forj,背包,每个,装满,写给,2019,物品,dp
来源: https://www.cnblogs.com/yuanweidao/p/10353544.html