dp-背包问题

Posted zhmlzhml

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dp-背包问题相关的知识,希望对你有一定的参考价值。

 1 #include "iostream"
 2 #include "stdio.h"
 3 using namespace std;
 4 int w[105],val[105];
 5 int dp[105][1005];
 6 int main()
 7 {
 8     int t,m,res=-1;
 9     scanf("%d%d",&t,&m);
10     for(int i=1;i<=m;i++)
11     {
12         scanf("%d%d",&w[i],&val[i]);
13     }
14     for(int i=1;i<=m;i++) 
15         for(int j=t;j>=0;j--)  
16         {
17             if(j>=w[i])
18             {
19                 dp[i][j]=max(dp[i-1][j-w[i]]+val[i],dp[i-1][j]);
20             }  
21             else
22             {
23                 dp[i][j]=dp[i-1][j];
24             }              
25         }
26     printf("%d",dp[m][t]);
27     return 0;
28 }

 

以上是关于dp-背包问题的主要内容,如果未能解决你的问题,请参考以下文章

DP-背包问题

背包问题

背包问题

背包问题

AC_9. 分组背包问题

HDU 2844 Coins (多重背包问题DP)