多重背包问题2(DP)
题目
有 N 种物品和一个容量是 V 的背包。
第 ii 种物品最多有 si 件,每件体积是 vi,价值是 wi。
求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。
输出最大价值。
输入格式
第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。
接下来有 N 行,每行三个整数 vi,wi,si 用空格隔开,分别表示第 ii 种物品的体积、价值和数量。
输出格式
输出一个整数,表示最大价值。
数据范围
0<N≤1000
0<V≤2000
0<vi,wi,si≤2000
提示:
本题考查多重背包的二进制优化方法。
输入样例
4 5
1 2 3
2 4 1
3 4 3
4 5 2
输出样例:
10
代码
#include<iostream>
#include<vector>using namespace std;const int N = 2010;
int f[N];struct Good
{int v, w;
};int main()
{int n, m;cin >> n >> m;vector<Good> goods;for(int i = 1; i <= n; i ++){int v, w, s;cin >> v >> w >> s;//打包 二进制优化 for(int k = 1; k <= s; k *= 2){s -= k;goods.push_back({v * k, w * k});}if(s) goods.push_back({v * s, w * s});}for(auto good : goods)for(int j = m; j >= good.v; j --)f[j] = max(f[j], f[j - good.v] + good.w);cout << f[m];return 0;
}
多重背包问题2(DP)相关推荐
- poj 1384 Piggy-Bank 多重背包问题
题目:点击打开链接 题意:小猪存钱罐,知道一些钱币的总重量,和这些钱币的币值以及单个重量,问这些钱最少是多少? 分析:很明显的一道多重背包问题,dp[v],表示重量为i的钱的币值和,对于达不到给定那个 ...
- ACwing 5. 多重背包问题 II(二进制拆分+DP)
文章目录 1. 题目 2. 解题 1. 题目 有 N 种物品和一个容量是 V 的背包. 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi. 求解将哪些物品装入背包,可使物品体积总和不超过 ...
- P03: 多重背包问题
P03: 多重背包问题 题目 有N种物品和一个容量为V的背包.第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和 ...
- 多维多重背包问题_满满干货!背包问题全总结(带c++源码)
目录: 动态规划简介 0-1 背包问题 完全背包问题 多重背包问题 混合背包问题 二维(多维)费用背包问题 分组的背包问题 有依赖的背包问题 动态规划简介 在学习背包问题之前需要对动态规划有一定的了解 ...
- 01背包问题+完全背包问题+多重背包问题
一 01背包问题 1.1题目 有N件物品和一个容量为V 的背包.放入第i件物品耗费的空间是Ci,得到 的价值是Wi. 求解将哪些物品装入背包可使价值总和最大. 1.2 基本思路 这是最基础的背包问题, ...
- 多重背包问题以及二进制优化
2020.12.30开始学习AcWing算法<算法竞赛进阶指南>: 上传博客方便复习. 多重背包问题(N<= 100): //Wecccccccc //2020.12.31 #inc ...
- 01背包、完全背包、多重背包问题的C++实现及路径记录
这里主要实现路径记录,只求最值问题移步 01背包.完全背包.多重背包问题的C++实现 以下均打印输出路径,即装入背包的物品序号,和最大值. 01背包问题 #include <iostream&g ...
- 01背包、完全背包、多重背包问题的C++实现
01背包问题 容量为10的背包,有5种物品,每种物品只有一个,其重量分别为5,4,3,2,1,其价值分别为1,2,3,4,5. 设计算法,实现背包内物品价值最大. 代码如下(输出14) #includ ...
- 中医药暑假训练赛三 c题 题解 (多重背包问题)
原题: Description 主角kirito是使用世界首款完全潜行游戏"刀剑神域(Sword Art Online)"的玩家.曾经很幸运的参与过封闭测试,并买下正式版的kiri ...
- ZCMU 1919 :kirito's 星爆气流斩 (多重背包问题)
1919: kirito's 星爆气流斩 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 155 Solved: 41 Description 主角k ...
最新文章
- 【数学基础】校招算法工程师笔试题
- 网络服务-RSYNC
- Cookie和Session-学习笔记02【Cookie案例、JSP改造Cookie案例】
- go中有缓存通道和无缓存通道区别
- UVA 839 Not so Mobile
- 【渝粤教育】电大中专混凝土结构作业 题库
- 创意产品 分析_使用联合分析来发展创意
- Leetcode--145. 二叉树的后序遍历(迭代递归)
- 安装nginx时关系依赖库openssl.lib时,出现:error: 'NR_syscalls' undeclared (first use in this function)
- 【华为云技术分享】Reactive模式优势与实践
- linux chmod命令数字,菜鸟学Linux命令:chmod命令和数字文件权限
- Debian 8 时间同步
- IOS之Objective-C学习 工厂模式
- 2.对memcached进行curd操作
- 微信小程序获取二维码scene参数报错 41030:invalid page rid: xx-xx-xx
- 计算机组成原理课程设计:复杂模型机
- imx8开发之~源码编译
- c++整人小程序(附源码)
- c# 火狐浏览器怎么嵌入窗体中_.net winform程序下使用firefox作为Web浏览器
- 计算机怎么看显卡内存容量,显存容量是什么,详细教您查看显卡容量大小方法...
热门文章
- 数据库并发机制和事务的隔离级别详解
- SAP BAPI 创建批次 未保存内部对象号
- 如果x≥0,则,否则。编写程序,输入一个整数x,计算后输出对应的y值。
- 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
- (数据结构)[python](10)----链表
- ClickHouse 在日志存储与分析方面作为 ElasticSearch 和 MySQL 的替代方案
- centos7开放mysql端口
- 基于Java语言的学习路线
- 操作系统FIFO算法(先进先出算法)
- 2022年中,用Python赚钱的5个方法,教你业余时间赚外快