二刷提高课,题解目录在这里— 提高课的题解目录
比01背包问题多了一条限制即不仅考虑体积有增添了质量限制
注意:二维背包问题由于三维地址内存限制通常会采取二维优化
#include<iostream>
using namespace std;
int f[110][110];
int main()
{
int n,v,m;
cin >>n>>v>>m;
for(int i=1;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];
}
请教一下如何运用f[][]这种二维数组
这个你想怎么运用呢,首先要知道每一维代表什么就行了