0_1背包问题
来源:互联网 发布:vc6.0二级c语言加油站 编辑:程序博客网 时间:2024/06/05 02:11
有n个物品和购物车的容量,每个物品的重量为w[i],价值为v[i],购物车容量为W。选若干个物品放入购物车中,使价值最大。重量不能够超过购物车容量。
原问题约数条件和目标函数如下:
子问题的约数条件和目标函数如下:
我们只需要证明:原问题的解去掉,x1为子问题的最优解。即证明最优子问题结构的性质。
(1)假设已经知道了X={x1,x2,...,xn}是原问题{a1,a2,...,an}的最优解,那么原问题去掉第一个物品就变成子问题{a2,a3,...,an},则X'={x2,x3,...,xn}是子问题的最优解
(2)通过最优子结构性质建立最优值递归式
可以对每个物品依次检查是否放入或者不放入。
用c[i][j]表示前i件物品放入一个容器为j的购物车可以获得的最大价值。
不放入第i件物品,xi=0,购物车的价值不增加,那么子问题就转化为“前i-1件物品放入容量为j的背包中”,最大价值为c[i-1][j]。
放入第i件物品,xi=1,装入购物车的价值增加了vi。
以上是问题转化的数学模型。wi是第i件商品的总重量,j是购物车的容量
阅读全文
0 0
- 0_1背包问题
- 0_1背包问题
- 动态规划解决0_1背包问题
- 0/1背包_1
- 0_1背包
- 9.3.1(0_1背包)
- 9.3.1(0_1背包)
- 回朔法之0_1背包
- 回溯法解决0_1背包问题(迭代和递归)
- 0_1 背包动态规划详解
- 动态规划之0_1背包
- hud 2602 Bone Collector (0_1背包模板题)
- 背包问题(0-1背包、完全背包、多重背包)详解
- 背包问题和0-1背包问题
- 背包问题和0-1背包问题
- 背包问题系列--"0-1背包问题"
- 背包笔记-含0/1背包问题、完全背包问题、多重背包问题、二维背包问题、分组背包问题
- 问题汇总_1
- PHP处理textarea post上来的文本的换行符等等
- RHEL/CentOS 7.x的几点新变化
- CNN结构:色温-冷暖色的定义和领域区分(一)
- POJ 2524 并查集
- Go面向对象编程之系统类型
- 0_1背包问题
- 支持向量机的理论与实现(占坑)
- mips架构linux启动分析(六)(arch_mem_init(node内存)内存初始化)
- Android机顶盒获取网络带宽
- iOS11.0 适配 tableView上面空出一段空白
- DataNode之DirectoryScanner分析
- win7 python2 安装numpy
- 22.开源项目--git解决分支合并冲突
- 朴素贝叶斯的理论与实现(占坑)