dp(0)背包

作者: vaisy | 来源:发表于2017-03-22 20:01 被阅读0次

假定物品为i,背包容量为v:
之前靠贪心解,优先放性价比最高的。但是贪心只适用于可以连续分割

完全背包(参见hiho/week7):

物品数量无限。
a[i]=max(a[i],a[i-c]+w);//a[i]是消耗不超过i时获得的最大收益;
对于每个物品,c是其消耗,w是其收益;

0-1背包(参见hiho/week6):

物品只有一件。i顺序,v逆序处理。
f[i][v]=max{ f[i-1][v], f[i-1][v-c[i]]+w[i] }即前i件进入背包获取的最大价值;
压缩空间得f[v]=max{f[v](不放),f[v-c[i]]+wi}

多重背包:

加判断,如果物品数量×代价小于容量,就按完全背包算;
否则二进制成0-1背包来解决。

背包九讲说的很细了 慢慢看吧。

相关文章

  • dp(0)背包

    假定物品为i,背包容量为v:之前靠贪心解,优先放性价比最高的。但是贪心只适用于可以连续分割 完全背包(参见hiho...

  • 各种背包问题

    0-1背包我比较熟悉,二维dp,通过观察方程可以优化成1维dp,不再赘述 完全背包跟0-1背包的区别是每种型号的物...

  • DP小结

    DP种类 线性DP 区间DP 树形DP 背包DP01背包满背包完全背包(转成01背包) 例子:线性动规:拦截导弹,...

  • DP训练——背包DP

    背包DP POJ3093[http://poj.org/problem?id=3093]题意给定个物品和背包容量,...

  • LeetCode-338-比特位计数

    解题思路: 枚举: dp[0]=0; dp[1]=1;dp[2]=1; dp[3]=2;dp[4]=1; dp[5...

  • 70. Climbing Stairs

    经典递归,dp[i] = dp[i-1]+dp[i-2],从0 算到n-1 ,返回dp[n-1] dp[0] = ...

  • dp背包问题

    1、说明 leetcode做了几十道动态规划的题目,大部分都是参考别人的解法进行解答,对动态规划的理解还是不到位,...

  • dp---背包

    01背包 有n种物品,一个承重量为m的背包,每种物品最多只能拿一个或者不拿,且每个物品都有价值v[i]和重量w[i...

  • 2022-03-31 不同路径

    动态规划:不同路径:初始状态: dp[i][0]=1 dp[0][[j]=1动态规划方程 dp[i][j]=dp...

  • 剑指 Offer 第63题:股票的最大利润

    1、前言 2、思路 dp[i][k][0] = max{dp[i - 1][k][0], dp[i - 1][k]...

网友评论

    本文标题:dp(0)背包

    本文链接:https://www.haomeiwen.com/subject/xeqanttx.html