杭电
数据挖掘者
热爱大数据,对算法感兴趣,博客里写我对算法的理解。
展开
-
杭电ACM 1021题
一,题目的意思,就是F(0)=7,F(1)=11, F(n)=F(n-1)+F(n-2), (n>=2) 求F(n)能否被3整除,如果能被3整除的话,则直接输出yes,不能被3整除的话,直接输出no二,解题思路,不能使用递归,否则超时 可以发现规律,就是F(n)以4为一个周期,依次循环。所以不要用递归来做这题。有时候可以看看其他巧妙的解题思路。 F(0)=7 NO F(1)=11原创 2016-07-13 20:18:14 · 2063 阅读 · 0 评论 -
杭电 ACM 1015 --Safecracker
题目的意思是:给你一个数(32位),一串大写字母(12个以内),要你在字母串中找到5个字母使其满足v - w^2 + x^3 - y^4 + z^5 = 数字,其中字母需转换A=1, B=2, …, Z=2。这个很容易实现,答案有很多组。因为,要选择字典数最大的,也就是字符串最大的那个。 这题可以使用暴力法,时间不会超过,值得注意有一个条件就是,使得选择出来的字符串的字典数最大。 使用原创 2016-07-03 16:57:55 · 843 阅读 · 0 评论 -
杭电 1023 Train Problem II
一,题目的意思:就是在堆栈中严格递增进入堆栈,问有多少种出栈顺序。 严格递增就是按照12345进入堆栈,而不是按照21345的顺序进入堆栈中。二,解题思路:采用卡特兰数方法来解决这题,另外要使用BigInteger来进行操作,而不能使用int数据类型来进行操作 1,这题,要是能想到卡特兰数方法的话,不难的。 2,卡特兰数的公式为: F(0)=1 F(1)=1 F(2)=2原创 2016-07-14 22:43:20 · 678 阅读 · 0 评论