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
2934
12553
718831
13137761
pid=2159" style="color:rgb(26,92,200); text-decoration:none">2159
pid=1248" style="color:rgb(26,92,200); text-decoration:none">1248
pid=1203" style="color:rgb(26,92,200); text-decoration:none">1203
1231 1249思路1:母函数思想,求系数
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; #define maxn 32770
int n, c1[maxn], c2[maxn];
void Init()
{
for(int i = 0; i <= maxn; i++)
{
c1[i] = 1;
c2[i] = 0;
}
for(int i = 2; i <= 3; i++)
{
for(int j = 0; j <= maxn; j++)
for(int k = 0; k+j <= maxn; k+=i)
c2[j+k] += c1[j];
for(int j = 0; j <= maxn; j++)
{
c1[j] = c2[j];
c2[j] = 0;
}
}
}
int main()
{
Init();
while(~scanf("%d", &n))
printf("%d\n", c1[n]);
return 0;
}
思路2:DP,后面的钱能够由前面的钱推出。
代码:
#include <iostream>
#include <cstdio>
using namespace std; #define maxn 32770
int n, dp[maxn];
void Init()
{
dp[0] = 1;
for(int i = 1; i <= 3; i++)
for(int j = i; j <= maxn; j++)
dp[j] += dp[j-i];
}
int main()
{
Init();
while(~scanf("%d", &n))
printf("%d\n", dp[n]);
return 0;
}
HDU 1284 钱币兑换问题 母函数、DP的更多相关文章
- HDU 1284(钱币兑换 背包/母函数)
与 HDU 1028 相似的题目. 方法一:完全背包. 限制条件:硬币总值不超过 n. 目标:求出组合种数. 令 dp[ i ][ j ] == x 表示用前 i 种硬币组合价值为 j 的钱共 x 种 ...
- HDU 1284 钱币兑换问题 (dp)
题目链接 Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于327 ...
- HDOJ(HDU).1284 钱币兑换问题 (DP 完全背包)
HDOJ(HDU).1284 钱币兑换问题 (DP 完全背包) 题意分析 裸的完全背包问题 代码总览 #include <iostream> #include <cstdio> ...
- HDU 1284 钱币兑换问题(全然背包:入门题)
HDU 1284 钱币兑换问题(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1284 题意: 在一个国家仅有1分,2分.3分硬币,将钱N ( ...
- HDU 1284 钱币兑换问题(普通型 数量无限的母函数)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1284 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 1284 钱币兑换问题 (递推 || DP || 母函数)
钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- hdu 1284 钱币兑换问题 完全背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1284 递推公式:dp[i] = sum(dp[i], dp[i-C]) /* 钱币兑换问题 Time ...
- HDU 1284 钱币兑换问题 (动态规划 背包方案数)
钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- HDU 1284 钱币兑换问题 (完全背包)
钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
随机推荐
- HDU——T 3336 Count the string
http://acm.hdu.edu.cn/showproblem.php?pid=3336 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- Android启动原理剖析
我们知道Android是以一个Activity为单位的,可是我们并没有看到一个Activity是怎么開始启动的. 今天我 们就从Android的源码開始讲吧. ActivityThread: Andr ...
- thinkphp图片处理
thinkphp图片处理 一.总结 1.参考手册:参考手册上面啥都有,只是这样业务逻辑不明显,所以看视频会很好,但是如果用编程的灵性(设计),那么其实会更加高效,但是看视频更快而且没那么枯燥,更高效把 ...
- 编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。
package example; import java.io.*; public class Test { public static void main(String[] args) throws ...
- 【例7-15 UVA-1603】Square Destroyer
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先预处理出所有的正方形(长度为1,2...n的)所包含哪些边. 然后记录每个正方形的应有边长和实际边长(有些边被删掉了); 然后搜的 ...
- 【JavaScript】--JavaScript总结一览无余
对于 北风网李炎恢老师的JavaScript的视频也真的是醉了.视频整体来说结构清晰.内容比較简单.JS是一种灵活,开放的语言,语法规则并没有那么的死板.非常easy让人接受. JS的基础部分跟C#类 ...
- eclipse-ADT安装失败经验
今天下载了一个eclipse,结果ADT死活安装不成功,网上试了很多的方法,最后还是失败了.最后听从同事的建议,直接使用adt-bundle了.这个环境基本上都是配置好的. 下载地址 http://w ...
- eclipse- log 打印跟输出到文件
1.在eclipse中打印log,经常使用的就是log.e(string,string) 代码中如下 @Override public boolean onTouchEvent(MotionEvent ...
- Python编写Appium测试用例(2)
#coding=utf-8import os,sysimport unittestfrom appium import webdriverimport timefrom selenium.webdri ...
- 【例题 7-5 UVA - 129】Krypton Factor
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 每次枚举增加一个字符; 然后看看新生成的字符的后缀里面有没有出现连续子串就好,前面已经确认过的没必要重复确认 (枚举长度为偶数的一个 ...