当前位置: 首页 > news >正文

leetcode动态规划(十五)-完全背包

题目

leetcode上没有纯完全背包题目,可以看卡码网上的题目

完全背包

思路

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。

完全背包和01背包问题唯一不同的地方就是,每种物品有无限件

在0-1背包中的遍历顺序为

for i in range(n):for j in range(bagweight,weight[i]-1,-1):dp[j] = max(dp[j],dp[j-weight[i]]+value[i])

在进行背包遍历的时候你从大到小来遍历的,但在完全背包这里每个物品的数量是无限的,那就可以从小到大来进行遍历了,这样在遍历的过程中就会把同一个物品重复装入包中,直到下个物品的价值放到包里超过一直这样放的时候就结束

代码

n , target = 4,5
weight = [1,2,3,4]
value = [2,4,4,5]dp =[0]*(target+1)for i in range(n):for j in range(weight[i],target+1):dp[j] = max(dp[j],dp[j-weight[i]]+value[i])print(dp[-1])

http://www.lryc.cn/news/467945.html

相关文章:

  • AI视听新体验!浙大阿里提出视频到音乐生成模型MuVi:可解决语义对齐和节奏同步问题
  • 对比两个el-table,差异数据突显标记
  • 调研funasr时间戳返回时间坐标效果可用性
  • Tomcat默认配置整理
  • 深入理解Rust中的指针:裸指针 智能指针
  • 物联网实训项目:绿色家居套件
  • 缓存雪崩是什么
  • 【格物刊】龙信刊物已上新
  • DNA存储介绍
  • 如何修改MAC地址破解网络无线网络限制-担心别人蹭网,路由器设置MAC地址过滤,限定了能访问无线网络的网卡地址-供大家学习参考
  • C端产品经理与B端产品经理的区别
  • 书生营 L0G4000 玩转HF/魔搭/魔乐社区
  • 轻松检测麦克风功能:使用Python的sounddevice和soundfile库
  • k8s 部署步骤整理(containerd)
  • Swagge详解,SpringBoot项目集成Swagger
  • docker搭建etcd集群环境方式
  • 重装ubuntu系统后配置
  • Java基于数据库的分布式可重入锁(带等待时间和过期时间)
  • 国家信息安全水平考试(NISP一级)最新题库-第十七章
  • Java 8 新特性概览
  • pyspark==堆叠
  • Zypher Network Layer3 主网上线,不容错过的“宝藏方舟”活动
  • 【小白学机器学习21】 理解假设检验的关键:反证法
  • 鸿蒙中富文本编辑与展示
  • Python Q-learning 算法详解与应用案例
  • 解决:如何在opencv中得到与matlab立体标定一样的矫正图?(python版opencv)
  • gin入门教程(4):路由与处理器
  • 【python+Redis】hash修改
  • MAVlink协议 部分通用消息集解析
  • c++实现跳表