首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
对于背包问题,若令 x[k,h] 表示从前 k 项物品中取出
[单选题]
对于背包问题,若令 x[k,h] 表示从前 k 项物品中取出并装入体积为 h 的背包的物品的最大价值,则当 k>0 且 h≥w
k
时,x[k,h]=?
(w
k
表示第 k 件物品的重量,c
k
表示第 k 件物品的价值)
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(23)
分享
纠错
1个回答
添加回答
3
一笑而过2222
在背包问题里,x[k,h]代表从前面k件物品中挑选,装入体积为h的背包时能获得的最大价值。当k>0且h≥wk(wk是第k件物品重量,ck是其价值 )时,有两种决策思路。 1. 不放入第k件物品:此时背包能获得的最大价值,就是不考虑第k件物品,在前k - 1件物品中挑选,装入体积为h背包时的最大价值,即x[k - 1,h]。因为没有放入新物品,背包的价值和从前k - 1件物品中挑选装入体积h背包时是一样的。 2. 放入第k件物品:首先要保证背包有足够空间,即h≥wk 。放入第k件物品后,背包还剩h - wk的空间。那么此时背包的最大价值,就是在前k - 1件物品中挑选,装入体积为h - wk背包时的最大价值,再加上第k件物品的价值ck,也就是x[k - 1,h - wk] + ck。 要得到x[k,h],就需要在这两种决策产生的价值中取较大值,所以x[k,h]=max(x[k - 1,h], x[k - 1,h - wk] + ck)。
发表于 2025-03-26 11:01:40
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
递归
难度:
1条回答
23收藏
208浏览
热门推荐
相关试题
执行完下列语句段后,i值为()
递归
评论
(16)
在大语言模型中,什么是"Gated...
大模型开发
评论
(1)
下面关于 Java 中的异常处理说...
Java
评论
(1)
关于大模型“上下文窗口”的理解,以...
大模型概念
评论
(1)
Vue Router的全局前置守卫...
Vue
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题