码迷,mamicode.com
首页 > 其他好文 > 详细

完全背包

时间:2019-04-09 23:23:21      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:cin   i++   完全背包   using   include   完全   end   col   space   

完全背包就是可以不限次数的放

一维dp

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 using namespace std;
 5 int dp[120];
 6 int value[1100];
 7 int popular[1100];
 8 int main()
 9 {
10     int n,m;
11     cin>>m>>n;
12     for(int i=1;i<=n;i++)
13     {
14         cin>>value[i]>>popular[i];
15     }
16     for(int i=1;i<=n;i++)
17         for(int j=value[i];j<=m;j++)
18             dp[j]=max(dp[j],dp[j-value[i]]+popular[i]);
19     cout<<dp[m]<<endl;
20     return 0;
21 }

二维dp

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 using namespace std;
 5 int dp[120][1100];
 6 int value[1100];
 7 int popular[1100];
 8 int main()
 9 {
10     int n,m;
11     cin>>m>>n;// m为最大容量,n为件数
12     for(int i=1;i<=n;i++)
13     {
14         cin>>value[i]>>popular[i];
15     }
16     for(int i=1;i<=n;i++)
17     {
18         for(int j=1;j<=value[i];j++)
19         {
20             dp[i][j]=dp[i-1][j];
21         }
22         for(int j=value[i];j<=m;j++)
23             dp[i][j]=max(dp[i-1][j],dp[i][j-value[i]]+popular[i]);
24     }
25     cout<<dp[n][m]<<endl;
26     return 0;
27 }

 

完全背包

标签:cin   i++   完全背包   using   include   完全   end   col   space   

原文地址:https://www.cnblogs.com/Iwpml-595/p/10680526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!