二维背包费用问题
二维背包费用问题
由 NASA的食物计划 引入
所谓二维背包费用就是和一维背包一样的遍历
不过遍历的for语句多了一个而已
key code
const int N=60;
int n,m;
int H,T;
int h[N],t[N],k[N];
int dp[500][500];
void solve(){
//try it again.
cin>>H>>T;
cin>>n;
up(1,n){
cin>>h[o]>>t[o]>>k[o];
}
fup(i,1,n){
fdn(j,H,h[i]){
fdn(w,T,t[i]){
dp[j][w]=max(dp[j][w],dp[j-h[i]][w-t[i]]+k[i]);
}
}
}
cout<<dp[H][T]<<endl;
}
同样的模板题还有一个
上面的代码改一下输入 n 的顺序和数据范围就可以通过

浙公网安备 33010602011771号