acwing算法题--混合背包问题
原题链接:https://www.acwing.com/problem/content/7/
#include <iostream>
#include <vector>using namespace std;const int N = 1010;
struct Thing {int kind;int v, w;
};
vector<Thing> things;
int dp[N];int main() {int n, m;cin >> n >> m;for (int i = 0; i < n; i++) {int v, w, s;cin >> v >> w >> s;if (s < 0) {things.push_back({-1, v, w});} else if (s == 0) {things.push_back({0, v, w});} else {for (int k = 1; k <= s; k *= 2) {s -= k;things.push_back({-1, k * v, k * w});}if (s > 0) {things.push_back({-1, s * v ,s * w});}}}for (auto thing: things) {if (thing.kind == -1) {for (int i = m; i >= thing.v; i--) {dp[i] = max(dp[i], dp[i - thing.v] + thing.w);}} else {for (int i = thing.v; i <= m; i++) {dp[i] = max(dp[i], dp[i - thing.v] + thing.w);}}}cout << dp[m] << endl;return 0;
}
acwing算法题--混合背包问题相关推荐
- acwing算法题--完全背包问题
原题链接:https://www.acwing.com/problem/content/3/ package mainimport "fmt" const N = 1010 var ...
- acwing算法题--多重背包问题二
原题链接:https://www.acwing.com/problem/content/5/ #include <iostream> #include <vector>usin ...
- acwing算法题--多重背包问题一
原题链接:https://www.acwing.com/problem/content/4/ package mainimport "fmt"const N = 1010var d ...
- acwing算法题--01背包问题
原题链接:https://www.acwing.com/problem/content/2/ 使用动态规划 package mainimport "fmt"const N = 10 ...
- acwing算法题--分组背包问题
原文链接:https://www.acwing.com/problem/content/9/ #include <iostream>using namespace std;const in ...
- AcWing算法题常用代码模板
一.基础算法 1.常用代码模板 快速排序算法模板 -- 模板题 AcWing 785. 快速排序 算法步骤: ①确定分界点 ②调整区间 ③递归处理左右两段 Tips: ①如果输入数据量 ...
- acwing算法题--二维费用的背包问题
原题链接:https://www.acwing.com/problem/content/8/ #include <iostream>using namespace std;const in ...
- acwing算法题--铁路与公路
原题链接:https://www.acwing.com/problem/content/description/4077/ #include <iostream> #include < ...
- acwing算法题--看图做题
原题链接:https://www.acwing.com/problem/content/3992/ 找规律题 #include<iostream>using namespace std;i ...
最新文章
- 西门子PLC学习笔记二-(工作记录)
- 告别学术论文恐慌!休斯顿大学教授的这个建议,让学术写作更简单
- [WPF]WPF中材质制作——图片和矢量图之争
- SQL注入详解和简单绕过原理
- 2021 最流行的十大 JS 框架,前三又换牌了,最值得关注的是 Svelte 和 Solid 的崛起!...
- 使用SAP C4C的OData服务的deep insert操作创建Lead
- ae预览不了多次_AE不能预览全部视频的原因分析及解决方案
- 如果检测到有老版本存在就先卸载老版本才形始新的安装过程
- 老男孩Linux高新运维第28期最终篇+老男孩Linux运维+老男孩linux运维全套
- MultiWarhead 球缺罩界面设计
- LCD显示屏选购技巧是什么?
- 基于EAST和Tesseract的文本检测与识别
- 调用方法[manageApp]时发生异常 java.lang.IllegalStateException: 启动子级时出错
- 数据仓库建设——主题和主题域的划分
- 2019最新《传智教育黑马java项目实战》
- 用安卓手机控制 HomeKit 智能设备?绿米Aqara设备接入智汀家庭云保姆级教程
- php检测gd2_PHP开启GD库及检测
- 【PHP渗透技巧拓展】————3、LFI、RFI、PHP封装协议安全问题学习
- 【自然语言处理】韩语基础与入门(词汇篇)
- Python入门基础教程(非常详细),手把手教学
热门文章
- python爬虫有什么用处-Python爬虫的作用与地位(附爬虫技术路线图)
- python需要php吗-学python需要学linux吗
- python 调用linux命令-四种执行python系统命令的方法
- python读取excel-python读写Excel
- python装饰器-理解Python装饰器(Decorator)
- 中国最大的python社区-python中的最小最大算法
- python待遇如何-老男孩学Python后就业如何?Python待遇高吗?
- python中的os.mkdir和os.makedirs的使用区别,以及如何查看某个模块中的某些字母开头的属性方法
- hdu1261 字串数(排列组合、大整数)
- 2019夏第八周学习编辑总结