首页 > 编程语言 >day42 动态规划part4 代码随想录算法训练营 46. 携带研究材料- 一维数组写法

day42 动态规划part4 代码随想录算法训练营 46. 携带研究材料- 一维数组写法

时间:2024-02-26 20:23:19浏览次数:25  
标签:遍历 weight 8C% 46 随想录 value bagWeight part4 dp

题目:46. 携带研究材料

我的感悟:

  • 一维是二维的压缩

理解难点:

  • 倒序遍历j
    • 因为每轮的数字是由左上决定的。
    • 遍历的时候,从右侧遍历,是不会影响左侧的。

听课笔记:

代码示例:

def bag_problem(weight, value, bagWeight):
    # 初始化
    dp = [0] * (bagWeight + 1)
    for i in range(len(weight)):  # 遍历物品
        for j in range(bagWeight, weight[i] - 1, -1):  # 遍历背包容量
            dp[j] = max(dp[j], dp[j - weight[i]] + value[i])

    return dp[bagWeight]



m, n = map(int, input().split())
weight = list(map(int, input().split()))
value = list(map(int, input().split()))
res = bag_problem(weight, value, n)
print(res)

通过截图:

扩展写法:

网友评论:

资料:

 01背包问题 一维 

https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-2.html

视频讲解:https://www.bilibili.com/video/BV1BU4y177kY

标签:遍历,weight,8C%,46,随想录,value,bagWeight,part4,dp
From: https://www.cnblogs.com/liqi175/p/18035089

相关文章

  • day42 动态规划part4 代码随想录算法训练营 卡尔网46. 携带研究材料
    题目:卡尔网-46.携带研究材料我的感悟:有1个测试用例没通过。还要多练习理解难点:dp递推公式的由来,初始化的参数。听课笔记:代码示例:defbag_problem(weight,value,bagweight):#[1,3,4][15,20,30]4ifbagweight==1:index=weigh......
  • P1462 通往奥格瑞玛的道路
    原题传送门思路首先通过读题可以发现两个量分别是血量和金钱,血量当然是越多越好,而金钱确实要最多的一次最少,一般题目说让一个量最多的时候最少,或最少的时候最多,那就会用二分来枚举这个量。那么这一题我们就会选择二分金钱,二分的条件就是到达终点的是的血量有没有大于总血量,也就......
  • 代码随想录 day61 每日温度 下一个更大元素 I
    每日温度单调栈的作用就是记录之前的元素好与当前元素比较从栈顶到栈底单调增找第一个第一个大元素单调减找第一个小元素栈内存的是数组下标而不是数组元素因为存元素还要会数组找元素是谁存下标可以直接用栈元素作为索引找数组元素下一个更大元素I跟每日温度......
  • 深度学习-卷积神经网络-经典的卷积网络incepttion-ResNet-DenceNet-46
    目录1.Inception2.ResNet3.DenseNet4.MobileNet1.Inception其中的一部分:Inception相比之前的VGGLeNet这些都是单条线的Inception多分支并行再concatInception第一版GoogleNet特征总结:NINNetworkinNetworkIncept_v3:NININ套了两次2.ResNet仅仅是......
  • Part4: Appendix
    本文是\(\text{diffusionmodels}\)中相关公式的推导部分,主要对论文中一些被省略的推导进行补充说明,对“扩散模型”感兴趣请查看前几篇文章。高斯分布概率密度函数若\(x\sim\mathcal{N}(\mu,\sigma^2)\),则:\[f(x;\mu,\sigma)=\frac{1}{\sigma\sqrt{2\pi}}\exp\left(-......
  • POJ--3468 A Simple Problem with Integers(线段树/树状数组)
    记录11:032024-2-25http://poj.org/problem?id=1961线段树树状数组把区间增加转变为单点增加,利用两个树状数组\(c_0和c_1\)将”Clrd"转化为在树状数组\(c_0\)中,把位置l上的数加d在树状数组\(c_0\)中,把位置r+1上的数减d在树状数组\(c_1\)中,把位置l上的数......
  • 代码随想录算法训练营第二天| 977.有序数组的平方
    第一题题解首先写了一个初步解,后续再想优化思路classSolution:defsortedSquares(self,nums:List[int])->List[int]:#sortbytheabsofvalueabs_min=10000abs_min_index=0foriinrange(len(nums)):if......
  • 代码随想录算法训练营第二十七天| 93.复原IP地址 78.子集 90.子集II
    复原IP地址 题目链接:93.复原IP地址-力扣(LeetCode)思路:投降。在判断字符串是否合法这部分遇到了困难。classSolution{private:vector<string>result;//记录结果//startIndex:搜索的起始位置,pointNum:添加逗点的数量voidbacktracking(string&s,int......
  • 代码随想录 day60 回文子串 最长回文子序列
    回文子串dp[i][j]:[i,j]范围内为回文子串递推式分三种情况①:ij相等显然是回文②:j-i<1且s[i]==s[j]显然是回文③:j-i>1且dp[i+1][j-1]为true也就是当前两端元素相同看元素内部是否是回文如果是显然是ij范围内是回文初始化必须初始化falset......
  • 算法的评估指标 转载自知乎https://zhuanlan.zhihu.com/p/400644465
    什么是评估指标?评估指标是针对模型性能优劣的一个定量指标。一种评价指标只能反映模型一部分性能,如果选择的评价指标不合理,那么可能会得出错误的结论,故而应该针对具体的数据、模型选取不同的的评价指标。针对不同类型的学习任务,我们有不同的评估指标,这里我们来介绍最常见的分类......