南阳49----开心的小明

Posted Jeson

tags:

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

 1 //01背包
 2 #include<cstdio>
 3 #include<cstring>
 4 
 5 int d[30005],val;
 6 
 7 void bag(int v,int w)
 8 {
 9     for(int i=val; i>=v; --i)
10         if(d[i] < d[i-v] + w)
11             d[i] = d[i-v] + w;
12 }
13 
14 int main()
15 {
16     int t,num,v,w;
17     scanf("%d",&t);
18     while(t--)
19     {
20         memset(d,0,sizeof d);
21         scanf("%d%d",&val,&num);
22         while(num--)
23         {
24             scanf("%d%d",&v,&w);
25             bag(v,w*v);
26         }
27         printf("%d\n",d[val]);
28     }
29     return 0;
30 }

 

以上是关于南阳49----开心的小明的主要内容,如果未能解决你的问题,请参考以下文章

nyoj 49-开心的小明(动态规划, 0-1背包问题)

NYOJ 49 开心的小明(01背包问题)

小明的存钱计划 南阳acm54

春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。

NYOJ 开心的小明

南阳OJ 1170 最大的数