- 博客(39)
- 收藏
- 关注
原创 杭电ACM 1230 火星A+B
#include #include#include#define max(a,b) (a>b?a:b)int s[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101};int main(){ int a1[100],a2[100],a[100],i,j
2014-08-07 16:20:26 510
原创 杭电ACM 2097 选课时间(母函数)
#include#include#includeint main(){ int t,n,m,i,j,k; int s[10][2],c1[100],c2[100]; scanf("%d",&t); while(t--) { memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2));
2014-08-07 10:25:50 389
原创 杭电ACM 1085 Holding Bin-Laden Captive!(母函数)
Holding Bin-Laden Captive!Problem DescriptionWe all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of
2014-08-06 11:18:55 524
原创 杭电ACM 1398 Square Coins(母函数)
Square CoinsProblem DescriptionPeople in Silverland use square coins. Not only they have square shapes but also their values are square numbers. Coins with values of all square numbers up to 289
2014-08-05 18:50:17 422
原创 杭电ACM 1028 Ignatius and the Princess III(纯母函数模板)
Ignatius and the Princess IIITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12687 Accepted Submission(s): 8965Problem Description
2014-08-05 16:37:08 567
原创 母函数详解
今天刚接触到母函数,感觉它挺有用的,总结一下 (杭电1028、2028)生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。生成函数有普通生成函数和指数生成函数两种,其中普通型用的比较多 G(x)=(1+x+x^2+...)(1+x^2+x^4+...)(1+x^3+x^6+...)...... 母函数模板:#includeusing namespace std;
2014-08-04 21:30:38 655
原创 杭电ACM 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包问题)
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活Problem Description急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?后记:人生是一个充满了变数的生命过程,天灾、人祸
2014-08-04 18:03:17 376
原创 北大POJ1159 Palindrome(动态规划求最长公共子序列)
#include#include#includechar str1[5010],str2[5010];short f[5010][5010];int max(int a,int b){ if(a>=b) return a; else return b;}void exchange(int n) //将输入的字符串数组倒置
2014-08-04 11:55:53 368
原创 动态规划—杭电ACM Bone Collector(01背包问题)
Problem DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave
2014-08-02 10:13:04 508
转载 经典背包问题 01背包+完全背包+多重背包
01背包有n种不同的物品,每个物品有两个属性,size体积,value 价值,现在给一个容量为 w 的背包,问最多可带走多少价值的物品。 [cpp]view plaincopyprint?int f[w+1]; //f[x] 表示背包容量为x 时的最大价值 for (int i=0; i for (int j=w; j>=size[i
2014-08-02 09:28:05 441
原创 动态规划—杭电ACM 1203 I NEED A OFFER!(01背包问题)
#include#include#includeint a[10010];float b[10010],f[110000];int main(){ int i,j,n,m; while(scanf("%d%d",&n,&m)&&(m!=0||n!=0)) { for(i=0;i f[i]=1; for(i=1;i { sca
2014-08-01 21:34:43 665
原创 动态规划—北大POJ Charm Bracelet(01背包问题)
Charm BraceletTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 23067 Accepted: 10377DescriptionBessie has gone to the mall's jewelry store and spies a
2014-08-01 19:44:50 469
原创 递归—简单背包问题
简单的背包问题【问题描述】设有一个背包,可以放入的重量为s。现有n件物品,重量分别为w1,w2…,wn,(1≤i≤n)均为正整数,从n件物品中挑选若干件,使得放入背包的重量之和正好为s。找到一组解即可。【输入格式】第一行是物品总件数和背包的载重量,第二行为各物品的重量。【输出格式】各所选物品重量。【输入样例】10 51 2 3 4 5【输出样例】nu
2014-08-01 12:01:00 1010
原创 递归—北大POJ 1664 放苹果(集合划分系列,还需再看)
放苹果Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input第一行是测试数据的数目t(0 Output对输入的每组数据M和N,用一行输出相应的K。Sample Input17 3Sample Outpu8
2014-08-01 10:09:55 441
原创 递归—集合划分
集合的划分【问题描述】 设S是一个具有n个元素的集合,S={a1,a2,……,an},现将S划分成k个满足下列条件的子集合S1,S2,……,Sk ,且满足: 1.Si!=空 2.Si 交 Sj = 空 3.S1 U S2 U S3 U....U Sk = S则称S1,S2,……,Sk
2014-08-01 09:50:21 1412
原创 简单递归—每位平方和
题目:一个数字链由数字的每位平方相加而成。例子:44->32->13->10->1->1 //4*4+4*4=32,3*3+2*2=13.........给你一个数字N计算出N(包括N)以内的所有数据链最后的数是1的个数。//1#includeint sum(int n){ int a,b; if(n return n;
2014-07-31 17:29:15 1065
原创 简单递归—斐波那契数列
#includeint a[100];int Fibonacci(int n) { if(n==0) return 0; else if(n==1) return 1; else return Fibonacci(n-1)+Fibonacci(n-2);}int main(){ int n;
2014-07-31 15:59:47 522
原创 简单递归—求最大公约数(辗转相除法)
//今天做题用到了辗转相除法来求最大公约数,才想起来这也是用递归来完成的#include#includeint gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}int main(){ int a,b; while(scanf("%d%d"
2014-07-31 14:57:02 1588
原创 简单递归—Hanoi(汉诺塔问题)
问题描述:有N个圆盘,依半径大小(半径都不同),自下而上套在A柱上,每次只允许移动最上面一个盘子到另外的柱子上去(除A柱外,还有B柱和C柱,开始时这两个柱子上无盘子),但绝不允许发生柱子上出现大盘子在上,小盘子在下的情况,现要求设计将A柱子上N个盘子搬移到C柱去的方法。【算法分析】 本题是典型的递归程序设计题。 (1)当N=1 时,只有一个盘子,只需要移动一次:
2014-07-31 10:41:47 688
原创 简单递归—二分法查找
题目描述:设有N个数已经按从大到小的顺序排列,现在输入X,判断它是否在这N个数中,如果存在则输出:“YES” 否则输出“NO”。题目该问题属于数据的查找问题,数据查找有多种方法,通常方法是:顺序查找和二分查找,当N个数排好序时,用二分查找方法速度大大加快。二分查找算法: (1) 设有N个数,存放在A数组中,待查找数为X,用L指向数据的高端,用R指向数据的低端,MID指向中
2014-07-31 09:58:20 756
原创 简单递归—前N项和
题目要求:给定n(n>=1),用递归的方法计算1+2+3+4+...+(n-1)+n。 #includeint sum(int n){ if(n==1) return 1; //临界条件 else return n+sum(n-1); //递归方程 }int main(){ int n;
2014-07-31 09:22:12 727
原创 简单递归—奇特的数字系列
题目描述: 据说一群在毕达哥拉斯领导下工作的古希腊数学家,发现了数字系列1,3,6,10,15,21... 中有一种奇特的联系。你能知道这个数字的系列的下一个数字是什么吗?(经分析可知每位上面的数 =它的位数 + 前一位上面的数)#includeint strange(int n){ if(n==1) //临界条件 return 1;
2014-07-30 17:38:21 413
原创 简单递归—计算N!
//用递归方法求 N!,这是学习递归算法的最基本的代码之一 #includeint f(int n){ if(n==0) //临界条件就是当 n==0 时的情况 return 1; else return n*f(n-1); //递归方程是 f(n)=n*f(n-1) }int main(){ int
2014-07-30 16:53:13 559
原创 杭电ACM 1715 大斐波数
大菲波数Problem DescriptionFibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3。计算第n项Fibonacci数值。 Input输入第一行为一个整数N,接下来N行为整数Pi(1 Output输出为N行,每行为对应的f(Pi)。 Sample Input
2014-07-30 13:22:28 842 3
原创 杭电ACM 1753 大明A+B(大数:正小数加法)
大明A+BProblem Description话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。 Input本题目包含多组测试数据,请处理到文件结束。每一组测试数据
2014-07-30 11:51:41 1277 1
原创 杭电ACM 1865 listing
1stingProblem DescriptionYou will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or leave the ‘1’ there. Surly, you may get many different results. For exampl
2014-07-30 08:56:06 363
原创 杭电ACM 2100 Lovekey
LovekeyProblem DescriptionXYZ-26进制数是一个每位都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下A0A1A2A3…An-1 的每一位代表的数字为a0a1a2a3…an-1 ,则该XYZ-26进制数的10进制值就为 m = a0 * 26^(n-1) + a1
2014-07-29 21:27:12 583
原创 杭电ACM 1250 Hat's Fibonacci (还需再看)
Hat's FibonacciTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7384 Accepted Submission(s): 2407Problem DescriptionA Fibonacci se
2014-07-29 21:15:38 549
原创 杭电ACM 1568 Fibonacci (还需再看)
FibonacciTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3425 Accepted Submission(s): 1558Problem Description2007年到来了。经过2006年一年的修
2014-07-29 19:27:51 494
原创 杭电ACM 1001 sum problem
Sum ProblemProblem DescriptionHey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. InputThe input wi
2014-07-29 15:43:19 492
原创 杭电ACM 1047 Integer Inquiry
Integer InquiryProblem DescriptionOne of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various s
2014-07-28 21:44:21 584
原创 杭电ACM 1041 Computer Transformation
/*这一题首先要分析、找规律:shu[i]=shu[i-1]*2+1(i是偶数) shu[i]=shu[i-1]*2-1(i是奇数)又因为计算结果非常大,所以要用到大数*/ #include#includeint shu[1010][1010];//定义数组来存放 0—1000的所有运算结果 int main(){
2014-07-28 21:13:02 561
原创 杭电ACM 1042 N!(还需再看)
//计算 N!的斯特林公式:n!=(sqrt(2*pi*n))(n/e)^n,如果用这个公式计算 N!因为数太大还是不可以用来计算 所以还是要用大数乘法计算//高精度问题 :大数乘法的应用//核心思想就是把计算结果每一位上的数字保存到一个数组成员中,例如://把124保存到数组中,保存结果应该是result【0】=4,result【1】=2,result【2】=1//把整个数组
2014-07-28 21:08:20 811
原创 杭电1041 Computer Transformation
Computer TransformationTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5856 Accepted Submission(s): 2122Problem DescriptionA sequ
2014-07-28 17:51:16 478
原创 北大暑假训练计划—POJ1013 Counterfeit Dollar(C语言)
Counterfeit DollarDescriptionSally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit even though its color and size make
2014-07-26 16:14:09 763
转载 gets()和scanf的区别
an AC a day keeps the WA away ~[转载]scanf和gets的几个区别以下内容转载自:scanf 和 gets 读取字符串深入了解scanf()/getchar()和gets()等函数scanf与gets函数读取字符串的区别今天看到一段话,大致是说gets比scanf()快,有点吃惊,搜了一下,scanf()和get
2014-07-26 13:31:18 377
原创 北大暑假训练计划—POJ1552 Doubles(C语言)
/* DoublesDescriptionAs part of an arithmetic competency program, your students will be given randomly generated lists of from 2 to 15
2014-07-25 21:24:57 435
原创 北大暑假训练计划—POJ1207 The 3n + 1 problem(C语言)
/* The 3n + 1 problemDescriptionProblems in Computer Science are often classified as belonging to a certain class of problems (e.g., NP, Unso
2014-07-25 21:23:59 638
原创 北大暑假训练计划—POJ2105 IP Address(C语言)
/* IP AddressDescriptionSuppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence o
2014-07-25 21:21:21 417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人