钱币兑换问题_完全背包&&拆分&&母函数
ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长。
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9186 Accepted Submission(s): 5591
12553
13137761
#include<iostream>
using namespace std;
const int N=35000;
int a[N],b[N];
int main()
{
int n;
int i,j,k; a[0]=1;
for(i=1;i<=3;i++)
for(j=i;j<=N;j++)
{
a[j]+=a[j-i];
}
while(cin>>n)
{
cout<<a[n]<<endl;
}
return 0;
}
拆分,先看能兑换多少三分的硬币,然后再加上两分的能换多少
#include<iostream>
using namespace std;
const int N=35000;
int a[N],b[N];
int main()
{
int n;
while(cin>>n)
{
int i;
int k=n/3+1;//n/3是n中能换多少个3,就有多少种方法,加一是还有全部用1组成的情况
for(i=0;i<=n/3;i++)//3分的数量从0开始遍历
{
int s=(n-3*i)/2;//2分的数量,除去当前三分的总额,还能有多少2分,就有多少情况;
k+=s;
}
cout<<k<<endl;
}
return 0;
}
母函数模板直接套:
#include<iostream>
#include<string.h> using namespace std;
const int N=35000;
int a[N],b[N];
int main()
{
int i,j,n,k;
for(i=0;i<N;i++)
a[i]=1;
memset(b,0,sizeof(b));
for(i=2;i<=3;i++)
{
for(j=0;j<N;j++)
for(k=0;k+j<N;k+=i)
{
b[j+k]+=a[j];
}
for(j=0;j<N;j++)
{
a[j]=b[j],b[j]=0;
}
}
while(cin>>n) cout<<a[n]<<endl; return 0;
}
钱币兑换问题_完全背包&&拆分&&母函数的更多相关文章
- HDOJ(HDU).1284 钱币兑换问题 (DP 完全背包)
HDOJ(HDU).1284 钱币兑换问题 (DP 完全背包) 题意分析 裸的完全背包问题 代码总览 #include <iostream> #include <cstdio> ...
- 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 ...
- 钱币兑换问题---hdu1284(完全背包)
Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. ...
- hdu 1284 钱币兑换问题 (递推 || DP || 母函数)
钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- 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
题目链接:HDU 1284 钱币兑换问题 钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- hdu 1284 钱币兑换问题 完全背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1284 递推公式:dp[i] = sum(dp[i], dp[i-C]) /* 钱币兑换问题 Time ...
随机推荐
- Druid:一个用于大数据实时处理的开源分布式系统
Druid是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析.尤其是当发生代码部署.机器故障以及其他产品系统遇到宕机等情况时,Druid仍 ...
- C语言实现统计字符个数
#include<stdio.h> int main() { int sz[10]={0},zm[26]={0},z[26]={0},i,space=0,e=0,t=0; ...
- 转载:Clear Float
众所周知,平时在写HTML代码时,难免少不了使用Float样式,这样一来,假使您没有清除浮动,那么有浮动元素的父元素容器将元素将无法自动撑 开.换句简单好理解的话来说,假如你在写CODE时,其中div ...
- poi 读取 excel (.xls) 97-2003
1.sh.getLastRowNum() 比行数少1 private List<Map> getData(File file) throws Exception{ List<Map& ...
- JVM调优(这里主要是针对优化基于分布式Mahout的推荐引擎)
优化推荐系统的JVM关键参数 -Xmx 设定Java允许使用的最大堆空间.例如-Xmx512m表示堆空间上限为512MB -server 现代JVM有两个重要标志:-client和-server,分别 ...
- 436. Find Right Interval ——本质:查找题目,因此二分!
Given a set of intervals, for each of the interval i, check if there exists an interval j whose star ...
- Go语言并发与并行学习笔记(三)
转:http://blog.csdn.net/kjfcpua/article/details/18265475 Go语言并发的设计模式和应用场景 以下设计模式和应用场景来自Google IO上的关于G ...
- JDE910笔记1--基础介绍及配置
1.一般JDE部署后环境: DV:开发环境 PY:测试环境 PD:正式环境 根据端口号区分不同环境,可配置.同时,JDE默认使用分发服务器,不同环境连接为不同的数据库. 2.命名规范: 自定义项目.函 ...
- BZOJ3993 [SDOI2015]星际战争
二分答案...然后最大流验证是否可行... 没了,好水啊QAQ /************************************************************** Prob ...
- javascript密码强度验证!
//CharMode函数 //测试某个字符是属于哪一类 function CharMode(iN) { if (iN>=48 && iN <=57) //数字 return ...