摘要: 这道题使用穷举,由于最多只有15种饲料,2^15 = 不算大,在我的程序中使用了Gray码来增加速度,下面介绍一下 Gray是一种二进制编码,如下是一个0至7的Gray码,共8个 000 001 011 010 110 111 101 100 Gray的特点就在于每两个相邻的编码只有一位不同,从这一点可以联想到如果我们使用Gray码来表示哪些饲料被使用(1表示使用,0表示不用)... 阅读全文
posted @ 2008-12-02 17:21 刘永辉 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 简单题目 Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//* ID: sdjllyh1 PROG: sort3 LANG: JAVA complete date: 2008/12/2 complexity: O(n) aut... 阅读全文
posted @ 2008-12-02 14:56 刘永辉 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 这道题,一开始我也是想着先列出所有的数,然后使用快速排序,不过在网上看见一个很不错的解决方法,大概代码如下: void print(n1,n2,d1,d2) { print(n1,n1+n2,d1,d1+d2); 输出 n1+n2,d1+d2; print(n1+n2,n2,d1+d2,d2); } 初始时调用 print(0,1,1,1); 下面做一下解... 阅读全文
posted @ 2008-12-01 15:07 刘永辉 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 终于打到第二关了,这道题还算简单,属于模拟类型的题,一个重点就是使用深度优先搜索给每个module编号,属于同一个房间的module编号相同,编好号 后其它问题都好办了 Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//* I... 阅读全文
posted @ 2008-11-27 16:59 刘永辉 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 读了这题题目后都不敢用java写了,这道题我用的是c++ 这道题需要使用位运算,否则最后一个数据会超时,做一点核心提示,如下图是一个6×6的棋盘,其中有两个位置放置了棋子: _ _ _ _ _ * _ _ _ * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 现在我们需要在第2行放棋子了(最上面一行是第0行),那么可以放在哪些位置呢? ... 阅读全文
posted @ 2008-11-26 16:14 刘永辉 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 很简单的一道题,使用深度优先搜索,注意一点,Superprime数的第一个数字只能是2、3、5、7,而除了2、5的其它素数的个位数必然是1、3、7、9 Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//* ID: sdjllyh1... 阅读全文
posted @ 2008-11-24 15:38 刘永辉 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 这道题我用枚举搜索,比如说要求出150到50000之间的所有Prime Palindromes,那么就枚举所有长度等于3和5的回文,然后判断这个回文是否为素数,注意一点,成都为偶数的回文一定能整除11,所以程度为偶数的回文只有11是素数,因此我们只需要判断长度为基数的回文。 那么如何枚举出长度为5的所有回文呢? 可以对回文的左边3个数字进行枚举,如左边3个数字为100,那么回文就是10001,然后... 阅读全文
posted @ 2008-11-23 19:52 刘永辉 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 非常简单的动态规划,不说了~~~ Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//* ID: sdjllyh1 PROG: numtri LANG: JAVA complete date: 2008/11/23 author... 阅读全文
posted @ 2008-11-23 15:16 刘永辉 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 又是深度优先搜索,枚举,为了不出现无限循环,为了所出现的每种状态(三个杯子现有milk数)仅考虑一次,使用isAppeared变量来记录某种状态是否已经出现过。 Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//* ID: sdj... 阅读全文
posted @ 2008-11-22 16:59 刘永辉 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 这道题用蛮力搜索很简单,但我却花了不少时间,昨天下午写了一个搜索的代码,结果在第8个数据超时(用了5.4秒,java比c++效率低),然后我就优化了半天,改动了许多部分,结果还是过不了,今天中午来重新写了个动态规划的程序,原本以为动态规划会快许多,结果犯了一个低级错误!为了给动态规划方法作备忘录需要开的内存空间不是一般的大!写完后才发现这个错误,然后又把所写代码全部删掉,还原成跟昨天差不多的样子,... 阅读全文
posted @ 2008-11-22 14:45 刘永辉 阅读(299) 评论(0) 推荐(0) 编辑