问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于pascal 背包问题 f[j]:=max(f[j],f[j-c[i]]+w[i]); 是什么意思 其...

发布网友 发布时间:2024-08-19 06:25

我来回答

1个回答

热心网友 时间:2024-08-30 05:03

你这个是01背包的吧? 首先要明白二维的写法,即f[i,v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i,v]=max{f[i-1,v],f[i-1,v-c[i]]+w[i]}。 这个应该很好理解吧, 然后考虑上面讲的基本思路如何实现: 肯定是有一个主循环i=1..N,每次算出来二维数组f[i,0..V]的所有值。 那么,如果只用一个数组f[0..V],能不能保证第i次循环结束后f[v]中表示的就是我们定义的状态f[i,v]呢? f[i,v]是由f[i-1,v]和f[i-1,v-c[i]]两个子问题递推而来,能否保证在推f[i][v]时(也即在第i次主循环中推f[v]时)能够得到f[i-1,v]和f[i-1,v-c[i]]的值呢?事实上,这要求在每次主循环中我们以v=V..0的顺序推f[v],这样才能保证推f[v]时f[v-c[i]]保存的是状态f[i-1][v-c[i]]的值。伪代码如下: for i=1..N for v=V..0 f[v]=max{f[v],f[v-c[i]]+w[i]}; 其中的f[v]=max{f[v],f[v-c[i]]}一句恰就相当于我们的转移方程f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]},因为现在的f[v-c[i]]就相当于原来的f[i-1][v-c[i]]。如果将v的循环顺序从上面的逆序改成顺序的话,那么则成了f[i][v]由f[i][v-c[i]]推知,与本题意不符,但它却是另一个重要的背包问题P02最简捷的解决方案,故学习只用一维数组解01背包问题是十分必要的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有要业余时间弹古筝的酒店么 古筝演奏师的就业前景怎么样 茶馆里主要放的音乐类型是 日语一级的话什么水平啊 一级到底要求多少词汇啊? WPS右键菜单(win11) 再生缘 我的温柔暴君结局是什么啊?女主最后傻了? 为什么做爱多了没感情了 情侣之间在一起时间长了是不是做爱的时候也懒得接吻了直接进入主题吗... 夫妻性爱后为何丧失了热情 一次性讲透背包问题——动态规划经典问题的深度解析 dp动态规划中的背包 动态规划:《背包问题》-Python实现 背包问题背包问题 癸卯年什么最旺财运女人 丁火命遇癸卯流年好吗 在哪里可以看 神墓动漫 神墓续集第二部动漫在线观看神墓续集 利伐沙班不能随便停药吗 新型口服抗凝药在非瓣膜性心房颤动中的应用 房颤抗凝药物选择的15个要点 想做从零开始跨境医疗电商,求做过的朋友给一点帮助? 货代GL是什么意思? 存水弯的作用_存水弯套什么定额_怎么安装 ...受水器应在排水口以下设存水弯,该存水弯水封深度( )。 在排水口需设存水弯时,存水弯的水封深度不得小于( ),严禁采用活动机械密 ... 开过又拧紧的可乐放多久能喝? 送看守所羁押是收监吗? 被判刑后如何分配监狱 关于看守所收押人犯有何规定 降糖药二甲双胍副作用 糖尿病吃药有副作用吗 炖鱼适合搭配哪些配菜? 比钙片强十倍的家常菜,宝宝多吃长大个哦! 开水放多久不能喝 开水放多长时间就不能喝了 驾驶培训一般有多少小时上车时间? 在学驾驶时,上车训练的时间为几天? 车借出去出了车祸车主承担什么责任 北京同仁堂养生文化有限公司企业简介 养生公司有哪些 把车借给别人出车祸了责任谁来承担 车借给别人出了车祸应该谁负责呢 车借给朋友出车祸了谁的责任 车借出去出了车祸,车主承担什么? 北京哪些博物馆适合带孩子玩 北京有哪些博物馆适合孩子去 姓氏的姓是怎么读的? 德施曼和小米指纹锁哪个好 智能锁哪个品牌质量好又安全 裁员赔偿标准月平均工资怎么确定