0-1背包问题详解

it2026-01-06  8

这里给大家推荐一个好的文章                                http://www.hawstein.com/posts/dp-knapsack.html  
关于0-1背包问题,也许很多人看过《背包问题九讲》,里面主要是要理解那个背包问题的公式      ………………………………………………(1)
         公式(1)当然是关键,其实我们很直观地从(1)中看出它的物理含义。F[i,v]这个二维数组代表的意思是,在背包容量为v,我们有从1到 i 号的物品供你选择,那 么你能在背包容量为v的前提下,所能获得的最大价值是F[i,v】,理解这个是问题中关键的关键。     对于这个题目:      我们采用伪代码:      用实际的数字来分析问题:      上表是在运行过程中F【i,v】数组的情况。其实这个原理很简单,无非就是对于第i个商品,你选或者不选 。 …………………………………………………………………………………(1) 还是这个公式,对于F[i,v],也就是在容是为v的情况下,我们选或者不选第i个商品,如果我们不选第i个商品,那么也就是说在背包容量为v的情况下我们的价值和 F[i-1,v]是一样的啦,这个意思是,我们不先第i个商品,问题没有进化,还是和原来一样(当然在背包的容量相等情况下),但是如果我们选第i个商品,那么就不 同了,我们的背包容量得先减C i      也就是第i个商品的体积啦 。当然我们在牺牲背包的容量的情况下,那么价值也得提升Wi。 当然我们是在这两者间选那个价值最大的。
来自为知笔记(Wiz)

附件列表

 

转载于:https://www.cnblogs.com/yml435/p/4668481.html

相关资源:数据结构—成绩单生成器
最新回复(0)