lightoj1232_完全背包

Posted _lm

tags:

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

题目链接:http://lightoj.com/volume_showproblem.php?problem=1232

题意: 给出n种硬币的币值,每种硬币最多有k个,问用这n种硬币组成k的方案数

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <cstring>
 4 #include <cstdlib>
 5 #include <cstdio>
 6 #include <vector>
 7 #include <ctime>
 8 #include <queue>
 9 #include <list>
10 #include <set>
11 #include <map>
12 using namespace std;
13 #define INF 0x3f3f3f3f
14 #define mod 100000007
15 typedef long long LL;
16 
17 int val[105], num[105], dp[10005];
18 int main()
19 {
20     int t, n, k;
21     scanf("%d", &t);
22     for(int ca = 1; ca <= t; ca++)
23     {
24         scanf("%d %d", &n, &k);
25         for(int i = 1; i <= n; i++)
26             scanf("%d", &val[i]);
27         memset(dp, 0, sizeof(dp));
28         dp[0] = 1;
29         for(int i = 1; i <= n; i++)
30         {
31             for(int j = val[i]; j <= k; j++)
32             {
33                 dp[j] = (dp[j] + dp[j - val[i]]) % mod;
34             }
35         }
36         printf("Case %d: %d\n", ca, dp[k]);
37     }
38     return 0;
39 }

 

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

lightoj1231_多重背包

动态规划_01背包_完全背包_多重背包_分组背包

LightOJ 1079 Just another Robbery (01背包)

lightoj1233_二进制优化

LightOJ - 1079 (概率?DP!01背包中量的选择)

lightoj 1079 Just another Robbery 概率 背包