dp入门

01背包

自顶向下。

1 for(int i=1;i<=n;i++){
2     for(int j=m;j>0;j--){
3         if(j>=cow[i].w)
4             dp[j]=max(dp[j],dp[j-cow[i].w]+cow[i].v);
5     }
6 }
7 ///m为容量,w为重量,v为价值

完全背包

自底向上

1 for(int i=1;i<=n;i++){
2     for(int j=w[i];j<=m;j++){
3         dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
4     }
5 }

 

posted @ 2018-05-13 00:46  flyer_duck  阅读(275)  评论(0编辑  收藏  举报