zoukankan      html  css  js  c++  java
  • DP_knapsack

    动态规划法解0-1背包问题

    问题描述:

    有n个背包,重量依次为w1,w2, ... ,wn, 价值依次是v1,v2, ... ,vn, 现在有一个大背包,其容量是capacity,往其中装小背包,要求得到的总价值最大,如何装?

    用value[i, w]表示有i个背包且总重量最大是w时的价值,那么当考虑第i个背包时,有两种情况

    1. 将此背包装入大包,价值是 v[i] + value[i - 1, w- wi]

    2. 此背包不装入打包,价值是 value[i - 1, w]

    取两者中的最大值即可

    代码如下:

    Code
    作者:zdd
    出处:http://www.cnblogs.com/graphics/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    poj2594 Treasure Exploration 二分匹配之最小路径覆盖+传递闭包
    Qsort和Sort排序函数用法
    poj1696 Space Ant 卷包裹法 向量叉积比较
    poj1113 Wall 凸包问题 官方数据
    poj2187 Beauty Contest 凸包求点集的直径
    printf 里面的 %lf 要改成 %f G++,G++的浮点型需要%f输出,%lf就是WA!!!
    让IE6支持Fixed
    更改input type="file" 的样式
    Repeater心得
    Windows服务删除
  • 原文地址:https://www.cnblogs.com/graphics/p/1509618.html
Copyright © 2011-2022 走看看