0/1背包问题

文章通过分析第5号物品的装入情况,展示了动态规划在解决背包问题中的逻辑。通过逐行比较矩阵数据,确定每个物品是否被选中,例如发现2号和1号物品被装入,而4号和3号未被装入。这一过程揭示了动态规划算法如何找出最佳解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

看第5号物品,如果第5号物品没有被装进去,那么第五行的所有数据是跟第4行的所有数据是一样的,所以第五号物品被装进去了

由于第5号物品装进去了,那么除去第5号物品的重量,即为 10-4=6

那我们看C[4][1]~C[4][6]的数据是否跟C[3][1]~C[3][6]一样,一样,说明4号物品没有被装进去

那我们看C[3][1]~C[3][6]的数据是否跟C[2][1]~C[2][6]一样,一样,说明3号物品没有被装进去

那我们看C[2][1]~C[2][6]的数据是否跟C[1][1]~C[1][6]一样,不一样,说明2号被装进去,那再除去2号物品的重量,即为6-2=4

那我们看C[1][1]~C[1][4]的数据是否跟C[0][1]~C[0][4]一样,不一样则说明1号物品被装进去

 故x5=1,x4=0,x3=0,x2=1,x1=1

可见,如果该行有装入背包,下一步路线往上走的时候就要往左打直角

特例的是,第1行有装的话,往上走是走直线 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值