c++背包问题输出装入背包的物品序号

请问一下c++背包问题,怎么输出装入背包的物品序号?高手指点一下,谢谢。... 请问一下 c++背包问题,怎么输出装入背包的物品序号? 高手指点一下,谢谢。 展开
 我来答
游牧铲
2010-08-06 · TA获得超过1268个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:453万
展开全部
一般的动态规划解最优值你应该会吧...
如果不会请上网搜背包九讲..看01背包那部分

现在来讲讲如何得到方案
明显地,背包的状态转移方程式是
f(i,j)=max{f(i-v[j],j-1),f(i,j-1)}
表示i的体积,装前j的物品所能得到的最大值
在程序中我们以opt[i][j]来储存
现在我们可以再定义一个数组last[i][j],类型为整数
明显地..一个f(i,j)的值一定来自于f(k,j-1),k=i或i-v[j]
那么.我们可以在求某一个opt[i][j]时,把k存入last[i][j]
这样.我们最终会得到一条从没装到装完的路径
通过last[V][N](最终态)
我们可以向上不断回溯以得知方案
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式