钱币兑换问题(杭电1284)(母函数)

钱币兑换问题

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 6019    Accepted Submission(s): 3462

Problem Description

在一个国家仅有1分,2分,3分硬币。将钱N兑换成硬币有非常多种兑法。

请你编程序计算出共同拥有多少种兑法。

Input

每行仅仅有一个正整数N。N小于32768。

Output

相应每一个输入,输出兑换方法数。

Sample Input

2934
12553

Sample Output

718831
13137761

Author

SmallBeer(CML)

Source

杭电ACM集训队训练赛(VII)

#include<stdio.h>
#define Max 32768
int a[35000],c[35000];
int main()
{
	int n,i,j,k;
	for(i=0;i<=Max;i++)
	{
		c[i]=1;
		a[i]=0;
	}
	for(i=2;i<=3;i++)
	{
		for(j=0;j<=Max;j++)
		{
			for(k=0;k+j<Max;k+=i)
			a[k+j]+=c[j];
		}
	    for(j=0;j<Max;j++)
	    {
	        c[j]=a[j];
	        a[j]=0;
	    }
	}
	while(scanf("%d",&n)!=EOF)
	{
		printf("%d\n",c[n]);
	}
	return 0;
}
时间: 2024-12-31 18:39:18

钱币兑换问题(杭电1284)(母函数)的相关文章

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

钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5069    Accepted Submission(s): 2868 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Outpu

杭电 1284

钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5446    Accepted Submission(s): 3106 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Outp

杭电 1284 钱币兑换问题【完全背包求方案总数】

解题思路:因为对于完全背包的状态转移方程f[v]=max(f[v],f[v-c[i]]+w[i])已经记录了所有背包组成的方案,只不过通常问的是求最大值,现在要求方案总数 即为 f[v]=sum(f[v],f[v-c[i]+w[i]]), Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Output 对应每个输入,输出兑换方法数. Sample Inp

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

题目链接:HDU 1284 钱币兑换问题 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5467    Accepted Submission(s): 3123 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有

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

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1284 递推公式:dp[i] = sum(dp[i], dp[i-C]) /* 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6325 Accepted Submission(s): 3662 Problem Description

HDU 1284 钱币兑换问题 (完全背包)

钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7658    Accepted Submission(s): 4547 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Outpu

【完全背包】HDU 1284 钱币兑换问题

Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Output 对应每个输入,输出兑换方法数. Sample Input 2934 12553 Sample Output 718831 13137761 Author SmallBeer(CML) Source 杭电ACM集训队训练赛(VII) 1 #include <iostream> 2 #incl

杭电 2189(母函数 素数 打表)

悼念512汶川大地震遇难同胞--来生一起走 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2366    Accepted Submission(s): 1185 Problem Description 妈妈 你别哭 泪光照亮不了 我们的路 让我们自己 慢慢的走 妈妈 我会记住你和爸爸的模样 记住我们的约定 来生一起走 上面这首诗节选

杭电 2566(母函数 暴力)

统计硬币 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3841    Accepted Submission(s): 2691 Problem Description 假设一堆由1分.2分.5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0). Input 输入数据第一行有一个正整数T,表示