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)背包

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