博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KMP模板
阅读量:4562 次
发布时间:2019-06-08

本文共 819 字,大约阅读时间需要 2 分钟。

luogu 3375 KMP两串

注意输入scanf("%s",a+1),scanf("%s",b+1);,int n=strlen(a+1),m=strlen(b+1);

#include
using namespace std;const int N=1005000;namespace zjc{ char a[N],b[N]; int p[N],j; void work(){ scanf("%s",a+1);scanf("%s",b+1); int n=strlen(a+1),m=strlen(b+1); p[1]=0; j=0; for(int i=1;i
0&&b[j+1]!=b[i+1]) j=p[j]; if(b[j+1]==b[i+1]) ++j; p[i+1]=j; } j=0; for(int i=0;i
0&&b[j+1]!=a[i+1]) j=p[j]; if(b[j+1]==a[i+1]) ++j; if(j==m){ printf("%d\n",i+1-m+1); j=p[j];} } for(int i=1;i<=m;i++) printf("%d ",p[i]); }}int main(){ zjc::work(); return 0;}

 

转载于:https://www.cnblogs.com/asdic/p/9639271.html

你可能感兴趣的文章
21. Merge Two Sorted Lists
查看>>
shiro设置加密算法源码解析
查看>>
第二次冲刺
查看>>
实验四
查看>>
win8.1镜像制作
查看>>
Windows 服务开发框架介绍 - Topshelf
查看>>
php,字符串(二)
查看>>
Sizzle前奏
查看>>
Paint Chain HDU - 3980(sg)
查看>>
Chales常用操作
查看>>
C++ 运算符重载<<
查看>>
windows镜像
查看>>
Flask 模板语法
查看>>
ZOJ FatMouse' Trade 贪心
查看>>
音乐播放器
查看>>
SQL COOKBOOK (Ch.1-10)
查看>>
创建数组
查看>>
dict使用
查看>>
[转] 移动平台Html5的viewport使用经验
查看>>
ASP.NET MVC的帮助类HtmlHelper和UrlHelper
查看>>