背包问题

不断完善中~~~

01背包

int dp[maxn];
void solve(){
    for(int i=0;i<n;i++){
        for(int j=W;j>=w[i];j--){
            dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
        }
    }
}

完全背包

int dp[maxn];
void solve(){
    for(int i=0;i<n;i++){
        for(int j=w[i];j<=W;j++){
            dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
        }
    }
}

  

原文地址:https://www.cnblogs.com/imzscilovecode/p/8666573.html