P1507 NASA的食物计划 题面 每个物品有三个属性,"所含卡路里":价值\(v\),"体积":限制1\(m_1\),以及"质量":限制2\(m_2\),在n件物品中选择一部分,使得所选物品价值\(v\)之和最大. 同时要求这些物品的限制1\(m_1\)之和不超过限制1上限\(c_1\),限制2\(m_2\)之和不超过限制2上限\(c_2\). 格式 输入包括n+2行. 第一行包括两个整数\(c_1,c_2(c_1,c_2<400)\)…
分析 二维费用背包模板 AC代码 #include <bits/stdc++.h> using namespace std; const int Maxn=505; int a[Maxn],b[Maxn],c[Maxn]; int f[Maxn][Maxn]; inline int read() { int w=0,x=0; char ch=0; while (!isdigit(ch)) {w|=ch=='-';ch=getchar();} while (isdigit(ch)) {x=(x&…
题目链接:https://www.luogu.org/problemnew/show/P1507 题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航天员大量的能量,因此NASA便想设计一种食品方案,让体积和承重有限的条件下多装载一些高卡路里的食物. 题目描述 航天飞机的体积有限,当然如果载过重的物品,…
题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航天员大量的能量,因此NASA便想设计一种食品方案,让体积和承重有限的条件下多装载一些高卡路里的食物. 题目描述 航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,每件食品都有各自的体积.质量以及所含卡路里,在告诉你体积和质量的最大值的情况下,…
题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安 全技术问题一直大伤脑筋,因此在各方压力下终止了航天 飞机的历史,但是此类事情会不会在以后发生,谁也无法 保证,在遇到这类航天问题时,解决方法也许只能让航天 员出仓维修,但是多次的维修会消耗航天员大量的能量, 因此NASA便想设计一种食品方案,让体积和承重有限的 条件下多装载一些高卡路里的食物. 题目描述 航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱, 每件食品都有各自的体积.质量以及所含卡路里,在告诉你体积 和质量的…
https://www.luogu.org/problem/show?pid=1507#sub 题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安 全技术问题一直大伤脑筋,因此在各方压力下终止了航天 飞机的历史,但是此类事情会不会在以后发生,谁也无法 保证,在遇到这类航天问题时,解决方法也许只能让航天 员出仓维修,但是多次的维修会消耗航天员大量的能量, 因此NASA便想设计一种食品方案,让体积和承重有限的 条件下多装载一些高卡路里的食物. 题目描述 航天飞机的体积有限,当然如果载过…
//二维费用背包 #include<bits/stdc++.h> using namespace std; ; ; ; int v1[maxn],v2[maxn],w[maxn],n,v1_tot,v2_tot,f[maxv1][maxv2]; int main() { scanf("%d%d%d",&v1_tot,&v2_tot,&n); ;i<=n;++i) scanf("%d%d%d",&v1[i],&…
传送 01背包又进化了,它变成了二维背包. 既然它多了一个维度,那么我们的f[j]也变成了二维数组f[i][j],其中i表示费用1,j表示费用2 核心方程也相应的变成了f[i][j]=max(f[i-v1[i]][j-v2[i]],f[i][j]),同时,也多了一层循环 代码如下: #include<iostream> #include<cstdio> #include<cmath> using namespace std; ][],v[],w[],o[]; int m…
(一次a……) NASA的食物计划[传送门] 好的上算法标签: 嗯这是个二维背包 (万年不变分隔线) 二维的题就是在一维基础上增加了一个条件,这个背包不仅含有质量还有体积.所以我们增加一层循环.核心算法: ;i<=n;i++) for(int j=m;j>=zl[i];j--) for(int k=v;k>=tj[i];k--) f[i][j][k]=max([f[i-][j][k],f[i-][j-z1[i]][k-v1[i]]+c[i]); 降二维节省空间: ;i<=n;i++…
背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安 全技术问题一直大伤脑筋,因此在各方压力下终止了航天 飞机的历史,但是此类事情会不会在以后发生,谁也无法 保证,在遇到这类航天问题时,解决方法也许只能让航天 员出仓维修,但是多次的维修会消耗航天员大量的能量, 因此NASA便想设计一种食品方案,让体积和承重有限的 条件下多装载一些高卡路里的食物. 描述 航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱, 每件食品都有各自的体积.质量以及所含卡路里,在告诉你体积 和质量的最大值的…