原题链接

Description

模板题啦~

Code

//【模板】KMP字符串匹配
#include <cstdio>
#include <cstring>
int const L=1e6+10;
char s1[L],s2[L];
int nxt[L];
int main()
{
scanf("%s",s1+1); scanf("%s",s2+1);
int L1=strlen(s1+1),L2=strlen(s2+1);
nxt[0]=-1;
for(int i=1;i<=L2;i++)
{
int x=nxt[i-1];
while(x!=-1&&s2[x+1]!=s2[i]) x=nxt[x];
nxt[i]=x+1;
}
for(int i=0,j=0;i<=L1;i++)
{
if(j==L2) printf("%d\n",i-L2+1);
while(j&&s1[i+1]!=s2[j+1]) j=nxt[j];
if(s1[i+1]==s2[j+1]) j++;
}
for(int i=1;i<=L2;i++) printf("%d ",nxt[i]);
return 0;
}

最新文章

  1. 去年做了什么?OA。
  2. LoadRunner 11 安装及破解
  3. 【BZOJ-4310】跳蚤 后缀数组 + ST表 + 二分
  4. cach
  5. linxu ffmpeg 编译安装
  6. Tiff – 值得你体验一下的可视化的字体对比工具
  7. 服务器部署之 cap deploy:setup
  8. winston日志管理1
  9. 解决VS2010控制台程序运行结束不显示请按任意键继续
  10. C#调用Geocoding API进行地理编码与逆编码
  11. 如何实现Android重启应用程序代码 ?
  12. JDk 内部分工具 简述
  13. UIPageViewController跳跃切换的问题
  14. cocos2d-x中常见的场景切换
  15. Codeforces 158 D
  16. Git学习 -- 分支管理
  17. c++简单线程池实现
  18. 活代码LINQ——04
  19. Java微信二次开发(九)
  20. 关于java中生产者消费者模式的理解

热门文章

  1. CSS深入理解学习笔记之vertical-align
  2. BSA Network Shell系列-redi命令
  3. Log4j扩展使用--日志记录器Logger
  4. junit--eclipse插件
  5. JFreeChart绘制折线图实例
  6. try{}catch(e){}不能捕获到异常
  7. thinkphp5学习(一)——thinkphp5的目录结构与开发规范
  8. 安卓和IOS兼容问题
  9. zabbix监控windows agent安装配置
  10. ADB Shell之手机性能测试