【动态规划】0 1背包问题

在生活中,我们对于一个问题以不同标准来看往往会有不同的解答,接下来,就背包问题与大家分享0 1规划思想。

背包问题往往是指以质量和价值为标准的不同种类物品,在规定背包所能承载的最大质量后,求所能放的物品的最大价值。

首先我们可以按照排序来确定,但过程较为繁琐,故我们将这个问题分解为一个个相连的子问题来求解。

用j表示物品的种数,w表示每种物品的重量,p表示物品的价值,M表示背包承载重量。然后我们根据分支形式表示a344c78176724ac0a2cbbc3ab8a5e3e6.jpg

用状态方程来表示物品价值的累积dc54022f140a40af875f41968afadb30.jpg

 这种表示好后化为表格形式

79fce990b5e747369af7660fbe3926bb.png

 根据书包容量查看最大价值

代码表示如下

88f71e5a778b4623a7d1605698e33afa.jpg

 通过重新编排数组int f[5][9]使得里面的值都是对应背包容量下的最大价值。再根据所需寻找对应的最大价值

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伱恏呀呀呀呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值