【题目】
链接:https://www.nowcoder.com/questionTerminal/15bdb1bacb1843f381102ee609577385
来源:牛客网
考虑一个有n=5个物品的背包问题实例,背包的容量m=10,v(价值)=(6,3,5,4,6),并且w(重量)=(2,2,6,5,4),请问不超过sw(背包能承受的总重)的情况下,最大的放入价值是多少()
【0-1背包问题】就是物品只能放一次,要么放要么不放。
【完全背包问题】物品可以无限放
【多重背包问题】有n1个物品a1,n2个物品a2,放进背包里,可以转成0-1背包问题,相当于有重复的a1,a2
【求解】
都用动态规划做,0-1背包问题和完全背包问题解法是一样的,就是填表的时候值不一样。
新建一个二维表dp,行数是n的值,列数是sw + 1。
dp[i][j]表示前i种物品,背包能承受的重量是j的时候,放入物品的最大价值。
dp[n-1][sw]就是5个物品,背包总重不超过sw,最大放入的价值,就是所求的解。
这里的用例参考了这篇文章http://www.cnblogs.com/fengziwei/p/7750849.html
自己画图填表格 <