问题标题: 酷町堂:2318

0
0
已解决
被禁言 张皓轩
张皓轩
中级光能
中级光能

完了完了,我连01背包都不会了!!!

错误代码:

#include<iostream>

using namespace std;

int a[101],f[5005],n,sum;

int main(){

cin>>n;

for(int i=1;i<=n;i++){

cin>>a[i];

sum+=a[i];

}

if(sum%2==1){

sum/=2;

sum++;

}else{

sum/=2;

}

for(int i=1;i<=n;i++){

for(int j=sum;j>=a[i];j--){

f[j]=max(f[j-1],f[j-a[i]]+a[i]);

}

}

cout<<f[sum];

return 0;

}


0
已采纳
褚俊皓
褚俊皓
新手天翼
新手天翼

核心:

  for(int i=1;i<=n;i++){
        for(int j=0;j<=sum/2;j++){
            if(w[i]<=j) f[i][j]=max(f[i-1][j-w[i]]+w[i],f[i-1][j]);
            else f[i][j]=f[i-1][j];
        }
    }

 

0
0
我要回答