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

动规多重背包

本文参考代码随想录

有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用,每件耗费的空间是Ci ,价值是Wi 。求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量,且价值总和最大。

每件物品最多有Mi件可用,把Mi件摊开,其实就是一个01背包问题了

#include<bits/stdc++.h>
using namespace std;int main(){int bagSize, n;cin >> bagSize >> n;vector<int> weights(n);for(int i = 0; i < n; i++) cin >> weights[i];vector<int> values(n);for(int i = 0; i < n; i++) cin >> values[i];vector<int> nums(n);for(int i = 0; i < n; i++) cin >> nums[i];vector<int> dp(bagSize + 1, 0);for(int i = 0; i < n; i++){for(int j = bagSize; j >= weights[i]; j--){for(int k = 1; k <= nums[i] && j >= k * weights[i]; k++){dp[j] = max(dp[j], dp[j - k * weights[i]] + k * values[i]);}}}cout << dp[bagSize];return 0;
}
http://www.dtcms.com/a/359597.html

相关文章:

  • JSP 输出语法全面解析
  • 深度学习篇---MobileNet
  • Nodejs之HelloWord Hello-Http
  • 电商系统的分布式事务调优
  • MySQL 公用表达式
  • EKS上部署gpu服务利用karpenter实现自动扩缩(s3作为共享存储)
  • Java中,任何方法都有其调用者
  • MySQL面试集合
  • 硬件开发_基于物联网的工厂环境监测系统
  • 从新能源汽车看产品逻辑与认知系统
  • 【MD文本编辑器Typora】实用工具推荐之——轻量级 Markdown 编辑器Typora下载安装使用教程 办公学习神器
  • 【CNB.COOL】智能花卉分类系统 – 部署指北
  • IOT安全学习之IoT_Sec_Tutorial
  • 暴力破解基础知识(一)
  • ReconDreamer++
  • 《Vue零基础教程》(5)Vue.js组件开发
  • 经典卷积神经网络CNN
  • 人工智能学习:机器学习相关面试题(一)
  • AI 取代部分岗位后:哪些职业更易被替代?人类该如何提升 “不可替代性”?
  • top命令和ps命令
  • 基于单片机智能保温杯/智能水杯
  • 软考 系统架构设计师系列知识点之杂项集萃(139)
  • 介绍几个DCDC降压芯片(TMI3408D、TPS56320x)
  • CUDA架构解析:如何让GPU释放并行计算的洪荒之力?
  • 金仓数据库KingbaseES:中国自主原创的数据库领军者
  • 「数据获取」《美国移民统计年鉴》(1996-2023年)(Yearbook of Immigration Statistics)(获取方式看绑定的资源)
  • sunset: twilight靶场
  • 【已解决】阿里云服务器上前端访问不到后端
  • 平衡二叉树(一)
  • 【Linux基础】Linux系统启动:深入理解GRUB引导程序