我太菜了

今天才学会kmp

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<queue>
#include<map>
#include<vector>
#define ll long long
#define inf 2147483611
#define MAXN 1000100
#define MOD 1000000
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-;ch=getchar();}
while(isdigit(ch)) {x=x*+ch-'';ch=getchar();}
return x*f;
}
char a[MAXN],b[MAXN];
int n,m,j,nxt[MAXN];
int main()
{
scanf("%s%s",a+,b+);
n=strlen(a+),m=strlen(b+);
for(int i=;i<=m;i++)
{
while(j>&&b[j+]!=b[i]) j=nxt[j];
if(b[j+]==b[i]) j++;
nxt[i]=j;
}
j=;
for(int i=;i<=n;i++)
{
while(j>&&b[j+]!=a[i]) j=nxt[j];
if(b[j+]==a[i]) j++;
if(j==m) {printf("%d\n",i-m+);j=nxt[j];}
}
for(int i=;i<=m;i++)
{
printf("%d ",nxt[i]);
}
}

最新文章

  1. 轻松自动化---selenium-webdriver(python) (四)
  2. poj2115-C Looooops(扩展欧几里德算法)
  3. Linux系统资源监控命令
  4. YII2.0 验证表单
  5. oracle 用Navicat创建的表的查询问题
  6. Java EE学习--Quartz基本用法
  7. oracle VS postgresql系列-行列转换
  8. WScript.SendKeys()的sendkeys发送组合键以及特殊字符
  9. Ruby 文件处理
  10. httpcontext in asp.net unit test
  11. 利用JavaScript 的formdata 进行无刷新上传文件
  12. shell之冒号的作用
  13. Linux 重启和关机命令
  14. (转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)
  15. JMeter 接口测试(一)
  16. Vue+Element-ui+DateTimePicker 日期时间选择器传值给后台
  17. js 异步代码
  18. 用Python做股市数据分析(一)
  19. TCP的socket资源被耗尽的问题
  20. Selenium+TestNG+Jenkins 框架图形化UML表示

热门文章

  1. Python 网络编程介绍
  2. [Python3网络爬虫开发实战] 1.5.3-redis-py的安装
  3. 如何系统学习并且掌握JavaScript
  4. MySQL-----用户和授权管理
  5. 87-Moving average of oscillator,移动平均振荡指标.(2015.7.4)
  6. 程序如何实现设置系统WIFI共享
  7. 关于SQL Server 的限制
  8. 动态规划法解最长公共子序列&lt;算法分析&gt;
  9. 九度oj 题目1202:排序
  10. POJ 1330 (LCA)