第一范文网 - 专业文章范例文档资料分享平台

C++ KMP算法模板代码

来源:用户分享 时间:2025/6/26 6:24:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

KMP算法模板代码

#include // 头文件

#include

using namespace std; int pi[10005];

void prefix_function(string s) { int n=s.length();

for(int i=1;i

while(j>0&&s[j]!=s[i]) j=pi[j-1]; if(s[j]==s[i]) j++;

pi[i]=j;

// 以i结尾的字符串的前缀函数

} }

int kmp(string a,string b) // 核心代码 {

int n=a.length(),m=b.length(); int j=0,ans=0;

for(int i=0;i

while(j>0&&a[i]!=b[j]) j=pi[j-1]; if(a[i]==b[j]) j++; if(j==m) { ans++;

j=pi[j-1]; } }

return ans; }

int main() {

ios::sync_with_stdio(0); // 加速 string s1,s2; int t; cin>>t;

while(t--) { cin>>s1>>s2;

prefix_function(s1); cout<

}

return 0; }

搜索更多关于: C++ KMP算法模板代码 的文档
C++ KMP算法模板代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2rlow8i1bn553973044s2xc786b4hd00ytv_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top