1033.采药1

Posted guanwen769aaaa

tags:

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

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <algorithm>//庆祝自己第一道01背包问题hhhhhh
 5 #include <string.h>
 6 using namespace std;
 7 int time[110];
 8 int value[110];
 9 int tab[1100][1100];//此处吐槽一下。。数组开小居然会wa而不是re。。。。。
10 int T,M,i,j;
11 int main()
12 {
13     while(scanf("%d%d",&T,&M)!=EOF)
14     {
15         for(i=1;i<=M;i++)
16         {
17             scanf("%d%d",&time[i],&value[i]);
18         }
19         memset(tab,0,sizeof(tab));//memset
20         for(i=1;i<=M;i++)//member
21         {
22             for(j=1;j<=T;j++)//time
23             {
24                 if(j<time[i])//如果空间盛放不下
25                 {
26                     tab[i][j]=tab[i-1][j];
27                 }
28                 else
29                 {
30                     tab[i][j]=max(tab[i-1][j],tab[i-1][j-time[i]]+value[i]);
31                 }//从放进去或者是不放进去选择价值最大的情况
32             }
33         }
34         cout<<tab[M][T]<<
;
35     }
36     return 0;
37 }
…… time=0 time=1 time=2 ……
第四个包        
第三个包        
第二个包        
第一个包        

以上是关于1033.采药1的主要内容,如果未能解决你的问题,请参考以下文章

1290:采药

P1048 [NOIP2005 普及组] 采药(01背包 dp)

P1048 [NOIP2005 普及组] 采药(01背包 dp)

luogu P1048ybtoj背包问题课堂过关DP例题1采药问题 &NOIP2005 普及组采药

动态规划的引入 P1048 采药01背包

动态规划的引入 P1616 疯狂的采药完全背包