【背包九讲专题】二维费用的背包问题

与01背包结合的:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e3+5;
int dp[maxn][maxn];
int main(){
    int n,V,M;cin>>n>>V>>M;
    for(int i=1;i<=n;i++){
        int v,m,w;cin>>v>>m>>w;
        for(int j=V;j>=v;j--){
            for(int k=M;k>=m;k--){
                dp[j][k]=max(dp[j][k],dp[j-v][k-m]+w);
            }
        }
    }
    cout<<dp[V][M]<<endl;
} 
View Code

 

posted @ 2021-02-04 20:03  Anonytt  阅读(27)  评论(0编辑  收藏  举报