随笔分类 - KMP
摘要:Number SequenceTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3492 Accepted Submission(s): 1581Problem DescriptionGiven two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M <= 10000, 1 <= N <= 1
阅读全文
摘要:KMP 匹配算法是由 "Knuth Morris Pratt" 提出的一种快速的模式匹配算法。由于KMP算法只预处理B串,因此这种算法很适合这样的问题:给定一个B串和一群不同的A串,问B是哪些A串的子串。KMP算法核心:KMP算法借助于一个辅助数组next来确定当匹配过程中出现不等时,模式P右移的位置和开始比较的位置。next[i]的取值只与模式P本身的前i+1项有关,而与目标T无关。匹配过程中遇到Pi不等于Tj时,若next[i]>=0,则应将P右移i-next[i]位个字符,用P中的第next[i]个字符与Tj 进行比较;若:next[i]= -1,P中的任何字符
阅读全文