码迷,mamicode.com
首页 > 其他好文 > 详细

KMP

时间:2020-03-28 00:44:11      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:循环   for   href   记录   block   秦皇岛   i++   拼接   pre   

KMP

模板

prefix function 前缀函数

vector<int> prefix_function(int n){
    vector<int> pi(n);
    for (int i = 1; i < n;i++){
        int j = pi[i - 1];
        while(j>0&&t[i]!=t[j])j = pi[j - 1];
        if(t[i]==t[j])j++;
        pi[i] = j;
    }
    return pi;
}

例题

[CF204E]

题意

给定一主串,再查询某字符串是否可以由主串的两个子串拼接而成.

思路

正反向各kmp一次

记录查询的字符串的前缀和后缀在主串中的位置

代码:先空着,之前的代码写的不太对

[CCPC秦皇岛]

题意

跟找循环节有关

思路

正&&反

代码 : http://xlorpaste.cn/kwgp23

KMP

标签:循环   for   href   记录   block   秦皇岛   i++   拼接   pre   

原文地址:https://www.cnblogs.com/guaguastandup/p/12585256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!