作为一个oier,以及大学acm党背包是必不可少的一部分。好久没做背包类动规了。久违地练习下-。-

dd__engi的背包九讲:http://love-oriented.com/pack/

鸣谢http://blog.csdn.net/eagle_or_snail/article/details/50987044,这里有大部分比较有趣的dp练手题。

hud 2602 01背包板子题

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #define clr(x) memset(x,0,sizeof(x))
 5 using namespace std;
 6 struct node
 7 {
 8     int cost,val;
 9 }bag[1010];
10 int dp[1010];
11 int main()
12 {
13     int T,n,m;
14     scanf("%d",&T);
15     while(T--)
16     {
17         scanf("%d%d",&n,&m);
18         clr(dp);
19         clr(bag);
20         for(int i=1;i<=n;i++)
21             scanf("%d",&bag[i].val);
22         for(int i=1;i<=n;i++)
23             scanf("%d",&bag[i].cost);
24         for(int i=1;i<=n;i++)
25             for(int j=m;j>=bag[i].cost;j--)
26             {
27                 if(dp[j]<dp[j-bag[i].cost]+bag[i].val)
28                     dp[j]=dp[j-bag[i].cost]+bag[i].val;
29             }
30         printf("%d\n",dp[m]);
31     }
32     return 0;
33 }
01背包

相关文章:

  • 2021-09-03
  • 2022-02-08
  • 2022-12-23
  • 2021-12-19
  • 2022-01-30
  • 2021-11-14
猜你喜欢
  • 2021-10-03
  • 2021-07-27
  • 2022-12-23
  • 2022-12-23
  • 2021-05-11
  • 2021-11-11
  • 2022-02-25
相关资源
相似解决方案