《dp补卡——多重背包》
多重背包简介:
有N种物品和一个容量为V的背包。第i种物品最多有Mi件可用,每件耗费的空间为Ci,价值为Wi。求解将哪些物品装入背包可使得这些物品耗费的空间总和不超过背包容量,且价值总和最大。
将Mi件摊开,就是一个01背包问题。
如下列两表就是等价的,图来源于代码随想录。
void test_multi_pack()
{vector<int> weight = {1,3,4};vector<int> value = {15,20,30};vector<int> nums = {2,3,2};int bagWeight = 10;//进行展开,转化为01背包问题for(int i = 0; i < nums.size(); i++){while(nums[i] > 1) {//nums[i]保留到1,把其他的多余的个数展开weight.push_back(weight[i]);value.push_back(value[i]);nums[i]--;}}vector<int> dp(bagWeight + 1, 0);for(int i = 0; i < weight.size(); i++) //遍历物品{for(int j = bagWeight; j >= weight[i]; j--) //遍历背包容量{dp[j] = max(dp[j],dp[j-weight[i]] + values[i])}}cout << dp[bagWeight] << endl;
}
《dp补卡——多重背包》相关推荐
- ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- 信息学奥赛真题解析(玩具谜题)
玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...
- 信息学奥赛之初赛 第1轮 讲解(01-08课)
信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...
- 信息学奥赛一本通习题答案(五)
最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...
- 信息学奥赛一本通习题答案(三)
最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
第1章 快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章 素数 第 3 章 约数 第 4 章 同余问题 第 5 章 矩阵乘法 第 6 章 ...
- 信息学奥赛一本通题目代码(非题库)
为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...
- 信息学奥赛一本通(C++版) 刷题 记录
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...
- 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离
首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...
最新文章
- 构建一个移动应用程序要花多少钱?
- STM32控制OLCD显示中英文(NB-IoT专栏—基础篇6)
- python中的os abort_Python os.abort()用法及代码示例
- 深入Atlas系列:客户端网络访问基础结构示例(1) - 编写并使用自定义的WebRequestExecutor...
- uva1511(找规律。。。)
- 爱可可推荐!关于竞赛思路,方法和代码实践,数据竞赛Baseline开源分享!
- !JS实战之随机像素图
- django框架 day06
- MySQL生产常用SQL语句汇总
- 同一性(identical)
- Win11 2022 Edge浏览器解决教资报名(浏览器不兼容)问题
- 56个民族及民族代码的sql语句
- qq机器人智能聊天插件源码
- 基于RabbitMQ实现的订单超时功能-记录备查
- java 局域网聊天
- java throw 和catch_Java catch与throw同时使用的操作
- 计算机毕业设计(附源码)python疫情防控管理系统
- 学生HTML个人网页作业作品 基于HTML+CSS+JavaScript明星个人主页(15页)
- Entry name AndroidManifest.xml collided
- spark分区读写mysql
热门文章
- 1688学python学不会_还在害怕学不会Python嘛?这篇文章让你瞬间读懂Python入门!...
- jquery手写轮播图_15个超强的jQuery/HTML5图片轮播插件
- jar包不用java命令_使不能运行的JAR文件可以使用java -jar运行
- php-5.2.6安装,php5.2.6安装openssl.o扩展,make时报错?
- sinaapp mysql连接_手把手教你在新浪云上免费部署自己的网站--连接数据库
- js中split()和join()的用法
- js使用工具将表单封装成json字符串传到后台,js截取字符串(学生笔记)
- 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)
- 使用MJRefresh自定义下拉刷新,上拉加载动画
- 【SQL】服务器环境下的SQL