摘要: 刘雅琼PPT讲解链接:http://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html扩展KMP: 给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0<=i<lenA), 求出A[i..lenA-1]与B的最长公共前缀长度,记为ex[i](或者说,ex[i]为满足A[i..i+z-1]==B[0..z-1]的最大的z值)。 扩展KMP可以用来解决很多字符串问题,如求一个字符串的最长回文子串和最长重复子串。【算法】 设next[i]为满足B[i..i+z-1]==B[0..z... 阅读全文
posted @ 2012-12-24 14:40 yefeng1627 阅读(8674) 评论(1) 推荐(2) 编辑
摘要: 例题是 POJ 1061 青蛙的约会 题目大意是,一个周长为L的圆, A、B两只青蛙,分别位于 x 、y 处,每次分别能跳跃 m 、n ,问最少多少次能够相遇,如若不能输出 “ Impossible” 此题其实就是扩展欧几里德算法-求解不定方程,线性同余方程。 设过 k1 步后两青蛙相遇,则必满足以下等式: ( x + m*k1 ) - ( y + n*k1 ) = k2*L ( k2 =0 , 1 , 2....) //这里的k2: 存在一个整数k2, 使其满足上式 稍微变一下形得: ( m - n )*k1 - k2*L= y - x 令 a = m - ... 阅读全文
posted @ 2012-12-24 10:21 yefeng1627 阅读(1566) 评论(0) 推荐(1) 编辑

Launch CodeCogs Equation Editor