hdu 1398 Square Coins(生成函数,完全背包)
题意:有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(生成函数,完全背包)的更多相关文章
- hdu 1398 Square Coins 分钱币问题
Square Coins Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- 题解报告:hdu 1398 Square Coins(母函数或dp)
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- hdu 1398 Square Coins (母函数)
Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- hdu 1398 Square Coins(简单dp)
Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Pro ...
- HDU 1398 Square Coins 整数拆分变形 母函数
欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit ...
- 杭电ACM hdu 1398 Square Coins
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- HDU 1398 Square Coins(母函数或dp)
Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- HDU 1398 Square Coins(DP)
Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- hdu 1398 Square Coins【生成函数】
预处理出完全平方数就和普通的生成函数解整数拆分一样了 #include<iostream> #include<cstdio> using namespace std; cons ...
随机推荐
- 使用Material Design 创建App翻译系列----材料主题的使用(Using Material Theme)
上一篇是使用Material Design 创建App翻译系列--開始学习篇,进入正题: 新的材料主题提供了下面内容: 1. 提供了同意设置颜色板的系统部件组件. 2. 为这些系统组件提供了触摸反馈动 ...
- C++ - Operator Precedence
The following table lists the precedence and associativity of C++ operators. Operators are listed to ...
- 熬之滴水穿石:JSP--HTML中的JAVA代码(6)
39--JSTL 在JSP编码中需考虑的一种方法,因为这种方法可以 ...
- SpringMVC批量上传
@RequestMapping(value = "/upload") public String handleFormUpload(MultipartHttpServletRequ ...
- 几款屏幕录制软件 ActivePresente
几款屏幕录制软件,最强大是 ActivePresenter ,免费版, 足以应对我们日常需求.列表如下 支持系统:W-Windows,L-Linux,M-Mac 软件 格式 W L M 免费 说明 ...
- fake it till you become it
fake it till you become it_你泛起山川烟波里的不是我._百度空间 fake it till you become it
- windows下eclipse跑junit报错:CreateProcess error=206
from:http://isuifengfei.iteye.com/blog/1684262 windows下,eclipse中运行junit出现错误提示: Exception occurred ex ...
- HW Video Acceleration in Chrome/Chromium HTML5 video 视频播放硬件加速
Introduction Video decode (e.g. YouTube playback) and encode (e.g. video chat applications) are some ...
- 黑客白皮书:如何成为一名黑客(附FAQ)
内容一览 为什么会有这份文档? 什么是黑客? 黑客应有的态度 黑客的基本技能 黑客文化中的地位 黑客和书呆子(Nerd)的联系 风格的意义 其它资源 FAQ(常问问题解答) 作为Jargon Fi ...
- Jquery事件的连接
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...