POJ3181 动态规划 完全背包
2018-03-11 00:30
197 查看
题意:
给定1…k元面额的硬币,每种无限个,问能刚好凑成n元的方式数。
思路:
完全背包 + 前缀和优化
反思 :
get到简易版大数加法。
代码:
给定1…k元面额的硬币,每种无限个,问能刚好凑成n元的方式数。
思路:
完全背包 + 前缀和优化
反思 :
get到简易版大数加法。
代码:
#include <cstdio> #include <cstring> #include <iostream> using namespace std; long long dp[100 + 10][1000 + 10][2]; int main() { memset(dp, 0, sizeof(dp)); long long limit = 1; for(int i = 0; i < 18; i++) limit *= 10; int n, k; scanf("%d%d", &n, &k); for(int i = 0; i <= k; i++) { dp[i][0][1] = 1; } for(int i = 1; i <= k; i++) { for(int j = 1; j <= n; j++) { if(j >= i) { dp[i][j][0] = dp[i - 1][j][0] + dp[i][j - i][0]; dp[i][j][1] = dp[i - 1][j][1] + dp[i][j - i][1]; dp[i][j][0] += dp[i][j][1] / limit; dp[i][j][1] %= limit; } else { dp[i][j][0] = dp[i - 1][j][0]; dp[i][j][1] = dp[i - 1][j][1]; } } } if(dp[k] [0] == 0) printf("%lld", dp[k] [1]); else printf("%lld%018lld\n", dp[k] [0], dp[k] [1]); return 0; }
相关文章推荐
- poj 2063 Investment 动态规划 完全背包问题
- hdu 1114 Piggy-Bank 动态规划+完全背包
- 0-1背包问题与完全背包问题C++实现 动态规划
- 动态规划(完全背包的变形)
- POJ3181 Dollar Dayz 动态规划,多重背包
- 0-1背包问题与完全背包问题C++实现 动态规划
- 完全背包---动态规划
- 动态规划第二讲——完全背包与多重背包问题
- POJ3181 完全背包+高精度数模板
- poj3181 Dollar Dayz ——完全背包
- HDU 1284 钱币兑换问题 动态规划完全背包
- HDU 1028 Ignatius and the Princess III 动态规划完全背包
- Piggy-Bank (完全背包 动态规划)
- DP 动态规划 Problem R 1018 完全背包
- 夕拾算法进阶篇:20)货币系统 (完全背包_动态规划DP)
- poj3181(高精度完全背包dp)
- 0-1背包问题与完全背包问题C++实现 动态规划
- 【动态规划】完全背包问题
- POJ3181 Dollar Dayz-完全背包问题-高精度(大数)处理(附测试数据)
- 动态规划-----完全背包