pid=1398">链接:hdu 1398

题意:有17种货币,面额分别为i*i(1<=i<=17),都为无限张。

给定一个值n(n<=300),求用上述货币能使价值总和为n的方案数

分析:这题能够用母函数的思想,对300以内的值进行预处理就可以

也可用全然背包思想求300以内的方案数

母函数:

#include<stdio.h>
int main()
{
int c1[305],c2[305],i,j,k,n;
for(i=0;i<=300;i++){
c1[i]=1;
c2[i]=0;
}
for(i=2;i<=17;i++){
for(j=0;j<=300;j++)
for(k=0;j+k<=300;k+=i*i) //这里每次累加i*i,由于第i种货币面额为i*i
c2[j+k]+=c1[j];
for(j=0;j<=300;j++){
c1[j]=c2[j];
c2[j]=0;
}
}
while(scanf("%d",&n)!=EOF){
if(n==0)
break;
printf("%d\n",c1[n]);
}
return 0;
}

全然背包

#include<stdio.h>
int main()
{
int a[20]={0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289},f[305]={0};
int i,n,j;
f[0]=1;
for(i=1;i<=17;i++)
for(j=a[i];j<=300;j++)
f[j]+=f[j-a[i]];
while(scanf("%d",&n)!=EOF){
if(n==0)
break;
printf("%d\n",f[n]);
}
return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

hdu 1398 Square Coins(生成函数,完全背包)的更多相关文章

  1. hdu 1398 Square Coins 分钱币问题

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

  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) Pro ...

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

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

  6. 杭电ACM hdu 1398 Square Coins

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

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

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

  8. HDU 1398 Square Coins(DP)

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

  9. hdu 1398 Square Coins【生成函数】

    预处理出完全平方数就和普通的生成函数解整数拆分一样了 #include<iostream> #include<cstdio> using namespace std; cons ...

随机推荐

  1. Redis核心解读:集群管理工具(Redis-sentinel)

    Redis核心解读:集群管理工具(Redis-sentinel) - Redis - TechTarget数据库 Redis核心解读:集群管理工具(Redis-sentinel)

  2. Google Ads Encryption Key

    aes | floyd's Google Ads Encryption Key

  3. HDU 4707 Pet(DFS(深度优先搜索)+BFS(广度优先搜索))

    Pet Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...

  4. 网络知识汇总(2) - Linux下如何修改ip地址

    在Linux的系统下如何才能修改IP信息   以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了-   A.修改ip地址   即时生效:   # ifconfig e ...

  5. 大白菜U盘启动制作工具装机维护版V5.0–大白菜U盘下载中心

    大白菜U盘启动制作工具装机维护版V5.0–大白菜U盘下载中心   大白菜U盘启动制作工具装机维护版V5.0

  6. 修改Tabhost样式和字体大小和居中显示

    有时候我们的tabhost并不需要贴图,所以这个时候就必须把文字居中显示和设置大小了,代码如下 setContentView(R.layout.home_vzo_tabhost);          ...

  7. Win8下在Vmware11中安装使用苹果系统OS X 10.10

    原文:Win8下在Vmware11中安装使用苹果系统OS X 10.10   近来因为需要做 iOS 的项目,所以需要多花一些时间看看敲敲代码.因为自己手头上并没有 Mac(过年为了闲的时候能玩玩游戏 ...

  8. 14.3.5.1 An InnoDB Deadlock Example

    14.3.5 Deadlocks in InnoDB 14.3.5.1 An InnoDB Deadlock Example 14.3.5.2 Deadlock Detection and Rollb ...

  9. Spark SQL Catalyst源代码分析Optimizer

    /** Spark SQL源代码分析系列*/ 前几篇文章介绍了Spark SQL的Catalyst的核心运行流程.SqlParser,和Analyzer 以及核心类库TreeNode,本文将具体解说S ...

  10. nRF Toolbox 1.2 使用AKII的实现,而Becon始终不好使

    这几天调试使用nRF51822驱动mpu6050及其数据传输到android中,调试的过程遇到一些困难,apptimer不太会用,然后就參考了下ble_app_hrs的程序,结果成功搞定,demo的价 ...