上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页

2010年11月30日

摘要: 解题思路:将所有串链接在一起,中间用不同的分隔符分割,求解后缀数组Height,二分求解连续长度>=k的公共子串是否包含了所有情况。代码 阅读全文
posted @ 2010-11-30 09:42 ltang 阅读(530) 评论(0) 推荐(0) 编辑

2010年11月29日

摘要: 解题思路:穷举长度为1到n/2的子串(L),如果子串连续出现两次以上,则两个连续的字串必定经过r[0],r[L],r[L*2]...中相邻的两个,所以在r[L*i]和r[L*(i+1)]分别往前和往后匹配。代码 阅读全文
posted @ 2010-11-29 22:46 ltang 阅读(1400) 评论(0) 推荐(0) 编辑

2010年11月25日

摘要: 解题思路:  建立trie图,我们可以假设起点均为root节点,题目转化为求解root经过m步到达所有节点的总和  dp求解,如果存在i->j的路径,counter[m, j] += counter[m-1, i];初始条件为counter[0, root] = 1;  显然,还需要使用高精度代码如下:代码 阅读全文
posted @ 2010-11-25 13:45 ltang 阅读(1020) 评论(3) 推荐(0) 编辑

2010年11月24日

摘要: 解题思路:建立输入单词(反向,便于寻找起始点所在的位置)的AC图,然后按照八个方向依次寻找(注意方向也为方向)。例如A是向上方向,我们需要改为反向,向下。那么我们需要将每列--从上到下方向--组成的字符串--共width个--分别到AC图中查找匹配。关键代码已经注释[代码] 阅读全文
posted @ 2010-11-24 20:19 ltang 阅读(888) 评论(0) 推荐(0) 编辑

2010年11月23日

摘要: 转自==有限层数和蛋数,求即使最坏情况下需要的最少判断次数==两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。(参见[两个鸡蛋--一道Google面试题])这是典型的动态规划问题。假设f[n]表示从n层楼找到摔鸡蛋不碎安全位置的最少判断次数。假设第一个鸡蛋第一次从第i层... 阅读全文
posted @ 2010-11-23 19:18 ltang 阅读(13176) 评论(3) 推荐(1) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 22 下一页

导航