算法笔记——动态规划问题(0/1背包)

本文通过详细解释0/1背包问题,探讨如何在背包容量限制下,选择具有最大价值的物品组合。以葡萄、矿泉水和西瓜为例,逐步分析不同背包容量下的最优解策略。
摘要由CSDN通过智能技术生成

此文章是看完b站up主讲解后,自己理解写的,用于自己以后查看,大家如果看不懂可以点下面链接去b站看up讲解,讲解非常详细。
背包问题(阿帕奇biubiubiu)
下面笔记图片也来自此视频

0/1背包问题

问题背景:每个物体只能装一次,使背包里的总物品价值最大化。葡萄:质量为2,价值为3;矿泉水:质量为3,价值为5;西瓜:质量为4,价值为6。
解题思路:首先分别讨论背包容量为0、1、2、3、4、5、6时的最优解。0时自然最优解都为0,每次讨论时先继承上一行的最优解,
在这里插入图片描述
1,当背包容量为0时,所装物品自然只能为0,最优解都为0
在这里插入图片描述
2,当背包容量为1时,葡萄仍然都无法装入,继承上面的最优解0,此时最大价值仍为0.
在这里插入图片描述
3,当背包容量为2时,此时背包容量2-葡萄质量2=0,背包为0时的最优解为0,0+3=3与上面的继承最优解相比3>0,所以此时最优解为3.
在这里插入图片描述
4,当背包容量为3时,对于葡萄而言也是可以装入的,此时背包容量为1最优解为0,0+3=3,3>0。以此类推,后面都为3。
在这里插入图片描述
5,当背包容量为1时,都装不了,继承上面最优解0;
当背包容量为2时,矿泉水无法装入,继承上麦呢最优解3;
当背包容量为3时,此时可以装入款泉水,此时[0,0]处最优解为0,0+5=5,5>3,所以装入矿泉水,放弃葡萄。
在这里插入图片描述
6,当背包容量为4时,可以装入矿泉水,此时[1,1]处最优解为0,0+5=5,5>3,
在这里插入图片描述
7,当背包容量为5时,可以装入矿泉水,此时背包容量为2时最优解为3,3+5=8,8>3;
当背包容量为6时也一样
在这里插入图片描述

8,讨论装入西瓜时,当容量小于4时无法装入,继承上一行数据;
等于4时,0时背包最优解为0+6=6,6>5,装入西瓜;
等于5时,1时背包最优解为0+6=6,6<8,不装入西瓜;
等于6时,2时背包最优解为3+6=9,9>5,装入西瓜;
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值