#include
#include
#include
using namespace std;
void Next(const string & pat,vector & next)
{
next.resize(pat.length());
if(pat.length() == 0)
return;
next[0] = -1;
for(size_t pos = 1; pos...
分类:
编程语言 时间:
2015-08-21 00:14:17
阅读次数:
154
题意:统计子串出现在主串中的次数思路:典型kmp#include#include#includeusing namespace std;int next[10005];void GetNext(char t[]){//求next数组 int j,k,len; j=0; k=-1; ...
分类:
其他好文 时间:
2015-08-20 22:27:57
阅读次数:
199
题意:重复子串次数思路:kmp#include#include#includeusing namespace std;#define MaxSize 1000005int next[MaxSize];void GetNext(char t[]){//求next数组 int j,k,len; ...
分类:
其他好文 时间:
2015-08-20 22:27:52
阅读次数:
221
搞了半天才理解题目的意思,以为是拓展KMP,没想到普通的KMP也可以做,无语
#include
#include
#define maxn 100010
using namespace std;
string a,b,c;
int nextt[maxn];
mapmapp;
void change()
{
mapp.clear();
for(int i=0;i<a.size();i++)
...
分类:
其他好文 时间:
2015-08-20 20:51:11
阅读次数:
171
先用KMP问题结局循环节的问题,再用拓展kmp解决
#include
#include
#define maxn 200010
using namespace std;
string str,b;
int nextt[maxn],extend[maxn];
void get_next()
{
int a=0;
nextt[0]=b.size();
while(a<b.size()-1&&b...
分类:
其他好文 时间:
2015-08-20 16:53:33
阅读次数:
113
一个:KMP原型next数组表示的是,最长前缀和后缀相等的长度。#include#include#include#includeusing namespace std;const int N=1000000;int next[N];char s[N],t[N];/*********KMP小结****...
分类:
其他好文 时间:
2015-08-20 15:16:03
阅读次数:
149
字符串问题
1.左旋问题
2.字符包含问题
3.字符匹配KMP
4.编辑距离
5.最大回文子串,公共子串
6.最大公共子序列,回文子序列,上升子序列
7.基本字符串函数实现
8.大整数的加,减,乘,除,模
9.合法回文,数字串
10.正则匹配,最长公共前缀,简化路经
1) 左旋字符串
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串ab...
分类:
其他好文 时间:
2015-08-20 06:48:58
阅读次数:
385
题目大意:有一个字符串长度为N的字符串,这个字符串可以扩展出N个字符串,并且按照顺序编号,比如串”SKYLONG“SKYLONG 1KYLONGS 2YLONGSK 3LONGSKY 4ONGSKYL 5NGSKYLO 6GSKYLON 7下面这7个都是原串的扩展(循环位移),现在需要求出来字典序最...
分类:
其他好文 时间:
2015-08-19 16:29:21
阅读次数:
93
题目请点我
题解:
题意是在确定了一个前串后,问能找到多少个与前串对应的后串。注意后串是可以重叠的,比如aaaaaa,若固定前串为aa,则后传为aaaa,共有三个与之匹配,所以共有四个aa字串。最开始的思路是枚举字串的长度,但是是O(N^2)的时间复杂度,超时了很多次。后来借鉴同学的方法,换了一种思路,每次利用while循环找到以A[i]结尾的长度不大于i/2的匹配子串。不考虑子串的长度,而是考...
分类:
其他好文 时间:
2015-08-19 11:15:25
阅读次数:
130
这么有名的串模式匹配算法,在此不作详细介绍了。如果有不了解的请看参考文献的两篇文章。 这里,我只准备介绍一下该算法核心next数组的含义(怎么求,相关博客也很详细)。很多文章介绍next数组的时候,一上来会介绍字符串前缀和后缀的概念,我这里也提一下。给定一个字符串T[0...n],其前缀有:T...
分类:
编程语言 时间:
2015-08-19 00:07:16
阅读次数:
176