代码随想录算法训练营19期第42天

01背包问题 二维 

代码随想录  

视频讲解:带你学透0-1背包问题!| 关于背包问题,你不清楚的地方,这里都讲了!| 动态规划经典问题 | 数据结构与算法_哔哩哔哩_bilibili  

初步思路:动态规划 背包问题

总结:

dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少

递归公式: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);

用时:30分钟

 01背包问题 一维 

代码随想录  

视频讲解:带你学透01背包问题(滚动数组篇) | 从此对背包问题不再迷茫!_哔哩哔哩_bilibili  

初步思路:动态规划 背包问题

总结:

[1] 递归公式: dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);

[2] 二维dp遍历的时候,背包容量是从小到大,而一维dp遍历的时候,背包是从大到

[3] 一维dp必须先遍历物品嵌套遍历背包容

用时:45分钟

 416. 分割等和子集  

代码随想录    

视频讲解:动态规划之背包问题,这个包能装满吗?| LeetCode:416.分割等和子集_哔哩哔哩_bilibili

初步思路:动态规划。

总结:套用01,背包的体积为sum / 2 -》

dp[j]表示 背包总容量(所能装的总重量)是j,放进物品后,背的最大重量为dp[j]

背包装满的时候, dp[target] == target

用时:45分钟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值