
字符串
thessuye
这个作者很懒,什么都没留下…
展开
-
poj2406Power Strings
题意:求字符串中的最小子串的个数;思路:n==len(s)字符串长度 0 next[n]-1 R 1 | 2 | 3 | 4 | 5 | | | | | Y 1 | 2 | 3 | 4 | 5原创 2015-05-30 19:28:42 · 454 阅读 · 0 评论 -
浅谈字符串匹配的KMP算法
1 简介KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。(以上信息来自百度百科)如果初次原创 2015-05-23 10:47:35 · 662 阅读 · 0 评论 -
poj2752 seek the name seek the fame
题意:给你一个字符串,计算既是前缀又是后缀的字符串的长度,按升序输出。思路:首先next[len]代表s中的最大的既是前缀又是后缀的串,并且长度恰好是next[len] 蓝色代表匹配 最大前后缀。 因为该段是最大段,所以剩下的前后缀一定在其内部。所以相当于在第一段原创 2015-05-24 17:19:53 · 589 阅读 · 0 评论 -
poj3461Oulipo
题意:一道简单的KMP题,找出第一个字符串p在第二个字符串s中出现次数。思路:找出next数组后匹配,当字符串p匹配完成后,计数器加一,然后j回溯到next[j]继续匹配。代码:#include#include#include#include#include#include#includeusing namespace std;#define CLR(a,b) memset原创 2015-05-24 17:27:31 · 987 阅读 · 0 评论 -
字符串最短距离问题
Question:设有字符串X,称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为“abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X的扩展串,这里“□”代表空格字符。 如果A1是字符串A的扩展串,B1是字符串B的扩展串,A1与B1具有相同的长度,那么定义字符串A1与B1的距离为相应位置上的字符的距离总和,而两个非空格字符的原创 2015-07-05 16:02:01 · 2312 阅读 · 0 评论