poj 3181 Dollar Dayz dp 完全背包
来源:互联网 发布:c语言void什么意思 编辑:程序博客网 时间:2024/04/26 08:28
题目
题目链接:http://poj.org/problem?id=3181
题目来源:《挑战》练习题
简要题意:用
1⋯K 面额的硬币有多少种方法构成N 元。数据范围:
1⩽N⩽1000;1⩽K⩽100
题解
很裸的完全背包,不过直接搞会爆LL。
java水过就行了。
之后发现极限数据就是二十几位吧,然后就顺手写了发c++的。
java代码
import java.math.BigInteger;import java.util.Scanner;public class Main { static BigInteger []a = new BigInteger[1005]; public static void main(String []args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(), k = cin.nextInt(); for (int i = 0; i <= n; i++) { a[i] = BigInteger.ONE; } for (int i = 2; i <= k; i++) { for (int j = i; j <= n; j++) { a[j] = a[j].add(a[j-i]); } } System.out.println(a[n]); cin.close(); }}
c++代码
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>#include <stack>#include <queue>#include <string>#include <vector>#include <set>#include <map>#define pb push_back#define mp make_pair#define all(x) (x).begin(),(x).end()#define sz(x) ((int)(x).size())#define fi first#define se secondusing namespace std;typedef long long LL;typedef vector<int> VI;typedef pair<int,int> PII;LL powmod(LL a,LL b, LL MOD) {LL res=1;a%=MOD;for(;b;b>>=1){if(b&1)res=res*a%MOD;a=a*a%MOD;}return res;}// headstruct LLL { static const LL MOD = 1e18; LL a[2]; inline LLL operator +=(const LLL &o) { a[0] += o.a[0]; a[1] += o.a[1]; if (a[0] >= MOD) a[1]++, a[0] -= MOD; } void wt() { if (a[1] > 0) printf("%I64d%018I64d\n", a[1], a[0]); else printf("%I64d\n", a[0]); }};LLL dp[1005];int main(){ int n, k; scanf("%d%d", &n, &k); dp[0].a[0] = 1; for (int i = 1; i <= k; i++) { for (int j = i; j <= n; j++) { dp[j] += dp[j-i]; } } dp[n].wt(); return 0;}
0 0
- poj 3181 Dollar Dayz dp 完全背包
- poj Dollar Dayz 3181 (DP&完全背包) 好题
- Dollar Dayz POJ - 3181 dp,完全背包,简单高精度加法
- POJ 3181 Dollar Dayz (完全背包)
- poj 3181 Dollar Dayz 高精度+完全背包
- POJ 3181 Dollar Dayz(高精度完全背包)
- poj 3181 Dollar Dayz(完全背包)
- POJ 3181 Dollar Dayz 完全背包 + 高精度
- POJ 3181 Dollar Dayz(完全背包+大数)
- poj 3181 Dollar Dayz(完全背包)
- poj Dollar Dayz(完全背包)
- POJ_3181 Dollar Dayz(dp,完全背包)
- poj 3181 Dollar Dayz (完全背包+高精度)
- POJ 3181 Dollar Dayz 01完全背包问题
- POJ 3181 - Dollar Dayz(完全背包+高精度)
- POJ 3181 Dollar Dayz(完全背包+简单高精度加法)
- POJ 题目3181 Dollar Dayz(完全背包,技巧)
- POJ 3181 Dollar Dayz DP
- 给你的JAVA程序配置参数(Properties的使用)
- Content-disposition
- Foundation框架下的结构体
- 单链表的的逆置(带头结点)
- 文件一些常用搜索命令
- poj 3181 Dollar Dayz dp 完全背包
- C#中WebBrowser控件的版本问题
- C语言实现任何文件的加密解密
- 数据挖掘 R VS Python
- C语言实现链表之单向链表(一)头文件
- 对java中静态初始化块的理解
- 大学自学编程推荐阅读书籍和参考学习顺序
- Jenkins + python(requests)做接口自动化测试
- 黑马程序员-----java基础概述之关键字、运算符