题意:

  有17种硬币,每种的面值为编号的平方,比如 1,4,9,16....。给出一个数字,求组成这个面值有多少种组法?

思路:

  用普通母函数解,主要做的就是模拟乘法,因为硬币是无限的,所以每个构造式中每一个项的系数都是1。我们只需要第n项的系数,大于n的并不需要,所以大于n的项就不用再做计算了。

 #include <bits/stdc++.h>
using namespace std;
const int N=;
int main()
{
freopen("input.txt", "r", stdin);
int n, ans[N]={};
while(scanf("%d",&n), n)
{
for(int i=; i<=n; i++) ans[i]=; //初始化为1,最小面值是1
int tmp[N]={}; //保存临时的结果
for(int i=; i<&&n>=i*i; i++)
{
for(int j=; j<=n; j++)
{
for(int k=; j+k<=n; k+=i*i)
tmp[j+k]+=ans[j];
}
memcpy(ans,tmp,sizeof(tmp)); //以ans作为结果来乘
memset(tmp,,sizeof(tmp)); //置零
}
cout<<ans[n]<<endl;
}
return ;
}

AC代码

HDU 1398 Square Coins 平方硬币 (普通母函数,水)的更多相关文章

  1. HDU 1398 Square Coins 整数拆分变形 母函数

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit ...

  2. 题解报告:hdu 1398 Square Coins(母函数或dp)

    Problem Description People in Silverland use square coins. Not only they have square shapes but also ...

  3. hdu 1398 Square Coins (母函数)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  4. HDU 1398 Square Coins(母函数或dp)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  5. hdu 1398 Square Coins 分钱币问题

    Square Coins Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  6. hdu 1398 Square Coins(简单dp)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Pro ...

  7. hdu 1398 Square Coins(生成函数,完全背包)

    pid=1398">链接:hdu 1398 题意:有17种货币,面额分别为i*i(1<=i<=17),都为无限张. 给定一个值n(n<=300),求用上述货币能使价值 ...

  8. 杭电ACM hdu 1398 Square Coins

    Problem Description People in Silverland use square coins. Not only they have square shapes but also ...

  9. HDU 1398 Square Coins(DP)

    Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

随机推荐

  1. AngularJS系统学习之$watch(监控)

    在scope的内置的所有函数中,用的最多的可能就是$watch函数了, 当你的数据模型中某一部分发生变化时,$watch函数可以向你发出通知. 你可以监控单个对象的属性,亦可以监控需要经过计算的结果( ...

  2. Dreamweaver cs6 的安装与破解

    网上找的教程http://jingyan.baidu.com/article/9f7e7ec08383b26f281554f4.html,亲测无误 只需点击试用安装即可 破解只需替换amtlib.dl ...

  3. c/c++面试23-29

    23 一般引用的用法 (1)代码 #include <iostream> #include <string> using namespace std; int main(int ...

  4. TypeScript完全解读(26课时)_14.ES6和Nodejs中的模块

    创建modules文件夹,我们的文件都写在这里面 modules下面新建index.js文件,在index.ts内引入这个js文件 es6的模块 最主要的两个关键字 import和export imp ...

  5. LeetCode: 520 Detect Capital(easy)

    题目: Given a word, you need to judge whether the usage of capitals in it is right or not. We define t ...

  6. JavaScript Symbol

    创建: 2019/02/26 完成: 2019/02/26  生成  每次生成的值都不一样(===, ==都是) var sym = Symbol(); // 可以有参数, 是对symbol的说明 v ...

  7. TP5之数据库备份

    1.效果图 2.下载扩展类(  \extands\org\Baksql.php) 3.在  \public\static  里新建一个data 文件夹用来存放 .sql  的文件 4.使用方法 con ...

  8. Ruby对象模型总结

    参考<Ruby元编程>,元编程,即 用来编写代码的代码 . 对象由一组实例变量和一个类的引用组成 对象的方法存在与对象所属的类中,类似js中的prototype,在ruby中准确的说,应该 ...

  9. pgsql_sql查询效率优化

    在pgsql中执行一个 5表 关联查询,效率比较差,问题定位 环境说明5张外表,其中with 中的临时表总记录数比较大,共有 2 亿条记录,通过时间序模型提高查询速度另外4张表 左表的记录非常小,最大 ...

  10. hibernate下载