
ACM
数据挖掘者
热爱大数据,对算法感兴趣,博客里写我对算法的理解。
展开
-
杭电ACM 第106题 Tick and Tick
杭电ACM 第106题 Tick and Tick1006题目的意思是: 一个钟的三个指针在不停的转动,他们已经厌烦了这样,当他们互相的距离角度大于等于D时,他们会很开心,问一天之中他们happy的时间占总时间的概率。这题想了好久,才搞明白它的含义。使用JAVA来实现这道题。import java.util.Scanner; import java.math.BigDecimal;原创 2016-06-28 16:18:13 · 920 阅读 · 1 评论 -
杭电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 · 2112 阅读 · 0 评论 -
杭电 1012 u Calculate e
这题计算不是太难,是简单数学计算,不过值得注意,就是保留小数点后九位,不能使用float数据类型,因为float数据类型只能存放小数点后八位。应该使用Double数据类型,另外使用DecimalFormat deci=new DecimalFormat(“0.000000000”);这样就可以保留小数点后九位。 使用Java来解决这一题,已经AC了。import java.text.De原创 2016-07-02 15:09:00 · 349 阅读 · 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 · 894 阅读 · 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 · 711 阅读 · 0 评论