题意:在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。

原题http://acm.hdu.edu.cn/showproblem.php?pid=1284

题解:用母函数暴力打表,因为钱币取值给定,是不变的,所以只有三个表达式G(x)=(1+x+x^2+x^3+……+x^MAX)(1+x^2+x^4+……+x^2*MAX)(1+x^3+x^6+……+x^3*MAX);要把循环放在外面,要不然TEL;

#include<cstdio>
using namespace std;
#define MAX 32768
int a1[MAX],a2[MAX];
void init()//暴力打表
{
int i,j,k;
for(i=0;i<MAX;i++)
{
a1[i]=1;
a2[i]=0;
}
for(i=2;i<=3;i++)
{
for(j=0;j<MAX;j++)
for(k=0;k+j<MAX;k+=i)
a2[j+k]+=a1[j];
for(j=0;j<MAX;j++)
{
a1[j]=a2[j];
a2[j]=0;
}
} }
int main()
{
init();
int n;
while(scanf("%d",&n)!=EOF)
printf("%d\n",a1[n]);
return 0;
}

HDU1284钱币兑换问题( 母函数打表)的更多相关文章

  1. HDU 1284 钱币兑换问题 母函数、DP

    题目链接:HDU 1284 钱币兑换问题 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  2. HDU1284 钱币兑换问题

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  3. HDU 1284(钱币兑换 背包/母函数)

    与 HDU 1028 相似的题目. 方法一:完全背包. 限制条件:硬币总值不超过 n. 目标:求出组合种数. 令 dp[ i ][ j ] == x 表示用前 i 种硬币组合价值为 j 的钱共 x 种 ...

  4. 解题报告:hdu1284 钱币兑换问题

    2017-09-03 19:03:06 writer:pprp 状态定义: dp[i][j] = x 代表的是 用前i 中硬币构造 j 美分的方法数目: 初始化: dp[0][0] = 1 状态转移: ...

  5. hdu 1284 钱币兑换问题 (递推 || DP || 母函数)

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  6. HDU 1284 钱币兑换问题(普通型 数量无限的母函数)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1284 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    ...

  7. hdu1284经典钱币兑换问题

    钱币兑换问题. 题目 http://acm.hdu.edu.cn/showproblem.php?pid=1284 完全背包. 这种是求背包问题最多的组合方案 参考了一些资料   http://blo ...

  8. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  9. hdu 1284 钱币兑换问题 完全背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1284 递推公式:dp[i] = sum(dp[i], dp[i-C]) /* 钱币兑换问题 Time ...

随机推荐

  1. A - 数塔

    A - 数塔 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  2. BZOJ 1801: [Ahoi2009]chess 中国象棋( dp )

    dp(i, j, k)表示考虑了前i行, 放了0个炮的有j列, 放了1个炮的有k列. 时间复杂度O(NM^2) -------------------------------------------- ...

  3. day5_python学习笔记_chapter7_字典

    1. 内建方法fromkeys()创建一个默认字典, 字典中元素具有相同的值,默认为None dict1 = {}.fromkeys(('x', 'y'), -1) 2. 访问字典中的值,  for ...

  4. poj 2688 Cleaning Robot bfs+dfs

    题目链接 首先bfs, 求出两两之间的距离, 然后dfs就可以. #include <iostream> #include <cstdio> #include <algo ...

  5. 四轴飞行器1.4 姿态解算和Matlab实时姿态显示

    原创文章,欢迎转载,转载请注明出处 MPU6050数据读取出来后,经过一个星期的努力,姿态解算和在matlab上的实时显示姿态终于完成了. 1:完成matlab的串口,并且实时通过波形显示数据 2:添 ...

  6. java基础-修饰符

    下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?(B) A:private  B:无修饰符  C:public  D:procted 名称  说明  备注  public  可以被 ...

  7. Javascript 思维导图

    学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将po出8张javascript相关的思维导图. 思维导图小tips:思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又 ...

  8. Java内存模型-jsr133规范介绍

    原文地址:http://www.cnblogs.com/aigongsi/archive/2012/04/26/2470296.html; 近期在看<深入理解Java虚拟机:JVM高级特性与最佳 ...

  9. iframe的一些简单记录

    //获取当前所在IFrame的id var frameId = window.frameElement && window.frameElement.id || ''; //Jquer ...

  10. Java中Iterator(迭代器)的用法及其背后机制的探究

    在Java中遍历List时会用到Java提供的Iterator,Iterator十分好用,原因是: 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结 ...