【KMP 模板】

原创 2013年12月04日 22:08:44

----------------------------

一 模板

----------------------------

const int maxn=1111111
char s[maxn];
char p[maxn];
int next[maxn];
void getnext(char *p,int *next){
    int i=0,j=-1;
    int len=strlen(p);
    next[0]=-1;
    while(i<len){
        if(j==-1 || p[i]==p[j]){
            i++;
            j++;
            next[i]=j;
        }
        else
            j=next[j];
    }
}
void kmp(char *s,char *p,int *next){
    int i=0,j=0;
    int n=strlen(s);
    int m=strlen(p);
    getnext(p,next);
    while(i<n){
        if(j==-1 || s[i]==p[j]){
            i++;
            j++;
        }
        else
            j=next[j];
        if(j==m){
            //To DO
            // ans++;
            j=next[j];
        }
    }
}




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

KMP字符串匹配模板

kmp模板

字符串查重,先定义2个字符串str1
  • chr35
  • chr35
  • 2014-08-27 10:18
  • 263

【模板】扩展kmp

EX_kmp

字符串单模板匹配学习笔记(一)kmp算法

【参考资料】 先上链接: 《字符串匹配的KMP算法》-阮一峰 http://kb.cnblogs.com/page/176818/ 《字符串匹配算法总结》 http://blog.csdn....

KMP模板

首先计算next数组 void GetNext(char* p,int next[])   {       int pLen = st...

【模板】KMP字符串匹配

KMP(Knuth-Morris-Pratt算法)是最常用的字符串匹配算法之一。它以三个发明者命名。 KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实...

hdu__KMP算法模板题【持续更新中】

剪花布条                                          ...

poj 3461 Oulipo(KMP模板题)

poj 3461 Oulipo(KMP模板题)

HDU-1686 Oulipo(kmp模板题)

B - Oulipo Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S...

KMP模板

#include #include #include using namespace std; //p串在s串中出现的次数 char s[1000001];  char p[10005]; int ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)