求解释01背包问题

一个旅行者有一个最多能用M公斤的背包,现在有N件物品,第i件重量Wi,价值Pi.若每种物品只有一件求旅行者能获得最大总价值fori=1...NforV=V...0f[v]... 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,
第i件重量Wi,
价值Pi.
若每种物品只有一件 求旅行者能获得最大总价值
for i=1...N
for V=V...0
f[v]=max{f[v],f[v-w[i]]+p[i]}
为什么V要递减 这个方程是什么意思?
求详细解释!谢谢!
展开
 我来答
国际大帅哥1
2010-09-22 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:112万
展开全部
这个是状态转移方程
f[v] 表示背包剩余容量V时候积累的价值总和
你这个是优化版本的只用了一维数组 有个更基本的方法我解释给你听

有n件物品 假设当前到第i件了

{ f[i - 1][v];
f[i][v](到第i件时 此时容量为v ) = {
{ f[i - 1][v - w[i]] + p[i];(v>=w[i])
(两者中较大的那个)

“将前i件物品放入容量为v的背包中”这个子问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为一个只牵扯前i-1件物品的问题。如果不放第i件物品,那么问题就转化为“前i-1件物品放入容量为v的背包中”,价值为f[i-1][v];如果放第i件物品,那么问题就转化为“前i-1件物品放入剩下的容量为v-c[i]的背包中”,此时能获得的最大价值就是f[i-1][v-c[i]]再加上通过放入第i件物品获得的价值w[i]。

参考资料: 背包九讲

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科精选
高粉答主

2021-05-18 · 每个回答都超有意思的
知道答主
回答量:60.8万
采纳率:14%
帮助的人:3.1亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式