背包

陈子骏

2018-07-08 18:47:15

Personal

``` for(int i=1;i<=n;i++) for(int j=v;j>=v[i];j--) dp[j]=max(dp[j],dp[j-v[i]]+w[i])//01 for(int i=1;i<=n;i++) for(int j=v[i];j<=v;j++) dp[j]=max(dp[j],dp[j-v[i]]+w[i]);//完全 for(int i=1;i<=n;i++) for(int j=v;j>=v[i];j--) for(int k=1;k<=c[i];k++) if(j-k*v[i]>=0)dp[j]=max(dp[j],dp[j-k*v[i]]+k*w[i]);//多重 for(int i=1;i<=n;i++) for(int j=v;j>=v[i];j--) for(int k=1;k<=c[i];k++) if(j>cost[i][k])dp[j]=max(dp[j],dp[j-cost[i][k]]+w[i][k]);//组别 ```