双重背包(体积至少是j)
背包问题小结:
体积最多是j => f[]全部初始化为0,V>=0
体积恰好是j => f[0]=0,f[]=INF,V>=0
体积至少是j => f[0]=0,f[]=INF
潜水员
潜水员为了潜水要使用特殊的装备。
他有一个带2种气体的气缸:一个为氧气,一个为氮气。
让潜水员下潜的深度需要各种数量的氧和氮。
潜水员有一定数量的气缸。
每个气缸都有重量和气体容量。
潜水员为了完成他的工作需要特定数量的氧和氮。
他完成工作所需气缸的总重的最低限度的是多少?
例如:潜水员有5个气缸。每行三个数字为:氧,氮的(升)量和气缸的重量:
3 36 12010 25 1295 50 2501 45 1304 20 119
如果潜水员需要5升的氧和60升的氮则总重最小为249(1,2或者4,5号气缸)。
你的任务就是计算潜水员为了完成他的工作需要的气缸的重量的最低值。
输入格式
第一行有2个整数 m,n。它们表示氧,氮各自需要的量。
第二行为整数 k 表示气缸的个数。
此后的 k 行,每行包括ai,bi,ci,3个整数。这些各自是:第 i 个气缸里的氧和氮的容量及汽缸重量。
输出格式
仅一行包含一个整数,为潜水员完成工作所需的气缸的重量总和的最低值。
数据范围
1≤m≤21,
1≤n≤79,
1≤k≤1000,
1≤ai≤21,
1≤bi≤79,
1≤ci≤800
输入样例:
5 60
5
3 36 120
10 25 129
5 50 250
1 45 130
4 20 119
输出样例:
249
分析:f[j][k]表示氧气量至少是j,氮气量至少是k的状态下,气缸重量的最小值
#include <iostream>
#include <cstring>
using namespace std;
const int M=22,N=80;
int f[M][N];
int main(){int m,n,k;scanf("%d%d%d",&m,&n,&k);while(k--){int a,b,c;for(int i=m;i>=0;i--){for(int j=n;j>=0;j--){f[i][j]=min(f[i][j],f[max(i-a,0)][max(j-b,0)]+c);}}}printf("%d",f[m][n]);return 0;
}
双重背包(体积至少是j)相关推荐
- 你的背包背到现在还没烂
背书包的小新对背包问题的理解 雄关漫道真如铁,而今迈步从头越 文章目录 背书包的小新对背包问题的理解 1.01背包问题 2. 完全背包 3. 多重背包问题 4. 混合背包问题 5.二维费用的背包问 ...
- Acwing算法—动态规划
目录 数字三角形模型 AcWing 898. 数字三角形 AcWing 1015. 摘花生 AcWing 1018. 最低通行费 AcWing 1027. 方格取数 AcWing 275. 传纸条 最 ...
- 背包问题不同要求下的初始化
提前声明,本文为转载,但是进行了略微的加工和注释. 前言 其实不管是何种情况下,无论是一维还是二维,只要判断f[0][0]是否有意义,是否合法.即一开始什么都不做,什么要求都没有的情况.第一个0即意什 ...
- 算法基础课【合集2】
文章目录 数学知识 AcWing 866. 试除法判定质数 AcWing 867. 分解质因数 AcWing 868. 筛质数 AcWing 869. 试除法求约数 AcWing 870. 约数个数 ...
- 拼题A打卡奖励 (25 分),1355D,1362C;
7-2 拼题A打卡奖励 (25 分)(背包) 题意: 求,从 n 个物品中选(每个物品有体积 vi, 价值 wi ),总体积不超过 m 的最大价值? n≤1e3,m≤7e5,vi≤600,wi≤30n ...
- 考研DS备考|算法复习|编程or上机准备
23考研算法复习 一.图论相关算法 1.拓扑排序 2.最小生成树 2.1 Prim算法朴素实现 2.2 最小生成树Kruskal实现 3.最短路 3.1朴素版Dijkstra 3.2Bellman-f ...
- 旅行商的背包(二进制优化多重+0/1背包枚举体积))
旅行商的背包(二进制优化多重+0/1背包枚举体积)) 题目描述 小 S 坚信任何问题都可以在多项式时间内解决,于是他准备亲自去当一回旅行商.在出发之前,他购进了一些物品.这些物品共有 n n n 种, ...
- 浙江省赛2021 F 思维 J spfa + 完全背包
F 思维 遍历 1 --> sqrt(m) + 1 n - i 是摧毁机器人的花费, k * i - m 是增加能量棒的花费 #include <bits/stdc++.h> usi ...
- 0x52. 动态规划 - 背包(习题详解 × 19)
目录 0x52. 动态规划 - 背包 0x52.1 0/10/10/1 背包 Problem A. 数字组合 Problem B. 背包问题求具体方案 Problem C. jury Compromi ...
最新文章
- python目前的应用领域_专栏G|轻松学Python01:Python环境搭建与运行
- ResultSet获取set中的记录数
- android canvas_Android仿IOS11 控制中心进度条
- 【AI学习篇】实战深度学习(3):深度学习的数据表示
- java获取屏幕图像_Java捕获当前屏幕图像
- 精雕道路怎么遍弧形_有网友私信我问郑州融信奥体世纪这个楼盘怎么样他今天来...
- 吴裕雄--天生自然 高等数学学习:微分方程的幂级数解法
- abb变频器如何拷贝_教你变频器参数怎样简单设置
- (CPSCA's)CPOJC+VIJOS
- iOS学习资源(五)
- 【E-DEEC】基于matlab增强的分布式能源有效集群(E-DEEC)【含Matlab源码 1566期】
- 如何官网下载 IEEE 论文 Latex 和 Word 模板
- linux下关于浏览器的软件包,火狐浏览器Linux系统版
- win11电脑开移动热点,但是手机连不上
- 如何看待培训机构出来的非科班程序员
- @value值获取不到配置文件值
- 直接在Visual Studio代码编辑器中加密字符串文件
- 分布式之gossip共识算法分析
- 全国第四轮计算机学科评估排名,最权威中国高校学科排名,全国第四轮学科评估结果出炉!...
- 【iOS】Web Color 的 OC 实现