https://www.luogu.com.cn/problemnew/solution/P3375

 #include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+;
int kmp[maxn];
char a[maxn],b[maxn];
int main()
{
scanf("%s%s",a+,b+);
int lena=strlen(a+);
int lenb=strlen(b+);
int index=;
for(int i=;i<=lenb;i++){
while(index&&b[i]!=b[index+])
index=kmp[index];
if(b[index+]==b[i]) index++;
kmp[i]=index;
}
index=;
for(int i=;i<=lena;i++){
while(index>&&b[index+]!=a[i])
index=kmp[index];
if(b[index+]==a[i])
index++;
if(index==lenb) {cout<<i-lenb+<<endl;index=kmp[index];}
}
for(int i=;i<=lenb;i++)
printf("%d ",kmp[i]);
printf("\n");
}

最新文章

  1. 百度地图api的覆盖物样式与bootstrap样式冲突解决办法
  2. spi 10方式编写
  3. ActiveMQ开发与简介
  4. 【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
  5. 【BZOJ】3319: 黑白树
  6. 未能加载文件或程序集&ldquo;System.Data.SQLite&rdquo;或它的某一个依赖项
  7. 如何添加WebService调用时的用户认证
  8. MAC SVN Phonegap
  9. C#核心语法
  10. MySql中,复制旧表结构到新表
  11. Oracle学习.Windows 命令行 启动ORACLE服务与实例
  12. 绿色mysql启动脚本
  13. Linux下包含头文件的路径问题与动态库链接路径问题
  14. Linux完整备份工具 - dump, restore(现在基本不用这两个)
  15. Python Pandas 简单使用之 API熟悉
  16. 常用的一些markdown格式
  17. python的运行机制和版本区别
  18. 【前端技术】web 开发常见问题--GET POST 区别
  19. 一个linux内核模块移植到低版本时发生的异常
  20. 【转】Spring学习---Spring 学习总结

热门文章

  1. 【33】卷积步长讲解(Strided convolutions)
  2. Java(四)输出和输入函数
  3. 【你不知道的javaScript 中卷 笔记2】javaScript中的类型转换
  4. [CF1303F] Number of Components - 并查集,时间倒流
  5. asp.net core 配置文件动态更新
  6. JS绑定事件处理函数及处理流程
  7. react-native构建基本页面6---打包发布
  8. Hadoop报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=xxxx
  9. 虚拟机floppy0
  10. CVE-2019-0708 远程桌面代码执行漏洞复现