九大背包问题专题--二维费用的背包问题
5.二维费用的背包问题
问题:
有N件物品和一个容量是V的背包,背包能承受的最大重量是M。
每件物品只能用一次,体积是vi,重量是mi,价值是wi。
求解将哪些物品装入背包,可使这些物品的总体积不超过背包的容量,总重量不可超过背包可承受的最大重量,且价值总和最大。
输出最大价值
输入格式
第一行有两个整数,N,V,M用空格隔开,分别表示物品种数、背包容积和背包能承受的最大重量。
接下来有N行,每行三个整数vi,mi,si,用空格隔开,分别表示第i种物品的体积、价值和数量。
输出格式
输出一个整数,表示最大价值
数据范围
0<N<=1000
0<V,M<=100
0<vi,mi<=100
0<wi<=1000
输入样例
4 5 6
1 2 3
2 4 4
3 4 5
4 5 6
输出样例
8
分析思路
时间复杂度:10^7
每个物品只能用一次->01背包问题
枚举:体积,重量->从大到小枚举
f[i][j]:表示总体积是i,重量为j的情况下,最大价值是多少
状态转移:
第一层循环:枚举每个物品(从前往后)
第二层循环:枚举体积
第三层循环:枚举重量
代码:
#include<iostream>
#include<algorithm>
using namespace std;const int N=110;
int n,v,m;
int f[N][N];int main(){cin>>n>>v>>m;for(int i=0;i<n;i++) //从前往后枚举物品 {int a,b,c; cin>>a>>b>>c;for(int j=v;j>=a;j--) //体积从大到小枚举for(int k=m;k>=b;k--) //重量从大到小枚举 f[j][k]=max(f[j][k],f[j-a][k-b]+c); //转移 cout<<f[v][m]<<endl;return 0;
}
}
九大背包问题专题--二维费用的背包问题相关推荐
- 背包九讲之五(二维费用的背包问题)
http://acm.fafu.edu.cn/problem.php?id=1499 1 /* 2 二维费用的背包问题是指:对于每件物品,具有两种不同的费用, 3 选择这件物品就必须付出这两种代价,每 ...
- HDU 2159 FATE 动态规划二维费用的背包问题
http://acm.hdu.edu.cn/showproblem.php?pid=2159 题意: 给出的n , m , k ,s 分别代表还需n经验升级.还有m耐久度.下面有k组数据.最多能杀s只 ...
- 第五讲 二维费用的背包问题 HD FATE(二维完全背包)
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- xynuoj 1423 贪婪戈尔曼(二维费用的背包问题)
1423: 贪婪戈尔曼 时间限制: 1 Sec 内存限制: 128 MB 提交: 26 解决: 16 您该题的状态:已完成 [提交][状态][讨论版] 题目描述 从前有2只狗,大的叫大狗,小的叫小 ...
- 潜水员 ← 二维费用的背包问题
[题目来源] https://www.acwing.com/problem/content/1022/ [题目描述] 潜水员为了潜水要使用特殊的装备. 他有一个带2种气体的气缸:一个为氧气,一个为氮气 ...
- acwing算法题--二维费用的背包问题
原题链接:https://www.acwing.com/problem/content/8/ #include <iostream>using namespace std;const in ...
- 潜水员(二维费用的背包问题)
[题目描述] 潜水员为了潜水要使用特殊的装备.他有一个带2种气体的气缸:一个为氧气,一个为氮气.让潜水员下潜的深度需要各种的数量的氧和氮.潜水员有一定数量的气缸.每个气缸都有重量和气体容量.潜水员为了 ...
- 背包问题进阶优雅总结【二维费用+分组+有依赖】
目录 作者有话说 二维费用的背包问题 状态定义及转移 物品总个数的限制 小结 分组的背包问题 状态定义及转移 小结 有依赖的背包问题(重要) 分析 最后是非常不正经的ending 作者有话说 本篇博文 ...
- 二维费用 hdu 2159 FATE(完全背包)HDU OJ 4501 小明系列故事——买年货【DP】
二维费用的背包问题是指:对于每件物品,具有两种不同的费用:选择这件物品必须同时付出这两种代价:对于每种代价都有一个可付出的最大值(背包容量).问怎样选择物品可以得到最大的价值.设这两种代价分别为代价1 ...
最新文章
- LeetCode 215. Kth Largest Element in an Array--数字第K大的元素--最大堆或优先队列--C++,Python解法
- 【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 mobile-ffmpeg 框架 | 完整代码示例 )
- solr导入mysql数据库
- DataGridView显示数据库数据(一)
- 深入理解java虚拟机 精华总结(面试)
- php 画布插入图像,javascript – 如何在PHP中将html5画布图像保存到数据库
- Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
- 关于SharePoint中管理列表项权限
- pandas python groupby_python – 如何使用pandas groupby汇总多个列?
- python执行到input后执行下一程序_Python基础知识储备,如何开关一个while循环
- vue中有汉字和数字。怎么截取汉字保留数字_Excel提取中文,数字和字母,一分钟搞定!...
- 英文写作的25个黄金加分句型
- 关闭计算机端口的命令行,关闭端口命令,小编教你如何关闭电脑80端口
- 编程猫fiddler插件
- 最好用的php编程软件_php 编程软件 php编程软件有哪些
- JSP——JSP介绍以及运行原理
- 华为手机助手(PC)无法连接的通用解决方案
- 每一代内存的读写速度大概是多少?
- IDEA 里 VersionController 中的 log 中的不同颜色含义
- android 电源管理
热门文章
- python基础教程电子版-Python基础教程(第2版)PDF文档下载
- python中文视频教程-中谷教育python中文视频教程(全38集)
- 零基础学python还是c语言-学习python还是c语言?
- 最常用计算机语音,计算机常用词汇--语言及服务器篇
- window.onload()方法和window.onscroll()方法
- mysql change column_Modify column Vs change column
- vue router-view 匹配路由后,第一次可以点击,再次点击同一个路由无响应,如何处理?
- Koa中使用art-template模板引擎,以及如何接受post请求等
- 【Redis笔记】简单动态字符串(SDS)
- 【数据结构和算法笔记】KMP算法介绍