博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客-2018多校算法第五场C-KMP
阅读量:4589 次
发布时间:2019-06-09

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

在原来的字符串中前缀与后缀相同,且原来的中间还含有这个子串;

这里加的num【】数组真是太厉害了,可以直接用来判断中间是否有子串;

#include 
#include
#include
#include
#include
using namespace std;const int maxn =1e6+7;int nt[maxn],len;int num[maxn];string str;void get_nt(){ int i=0,k=-1; nt[0]=-1; while(i < len) { if( k==-1 || str[i]==str[k]) nt[++i]=++k; else k=nt[k]; }}int main(){ int find = 1; cin>>str; len =str.length(); get_nt(); for(int i=1;i

 

转载于:https://www.cnblogs.com/ckxkexing/p/8474123.html

你可能感兴趣的文章
客户端连接服务端的配置文件
查看>>
【POJ - 1995】Raising Modulo Numbers(快速幂)
查看>>
python model对象转为dict数据
查看>>
RPC
查看>>
sql 转 markdown
查看>>
Java数据类型的转换
查看>>
UI自动化笔记(二)
查看>>
CI获取ip的API
查看>>
JAVA虚拟机体系结构JAVA虚拟机的生命周期
查看>>
WINDOWS 的 MKLINK : 硬链接,符号链接 : 文件符号链接, 目录符号链接 : 目录联接...
查看>>
HTML5VEDIO标签阿里云-微信浏览器兼容性问题
查看>>
JAVA高级篇(二、JVM内存模型、内存管理之第一篇)
查看>>
StringBuilder
查看>>
jQuery事件和JavaScript事件
查看>>
webService 客户端 以wsimport方式生成对应java文件
查看>>
springmvc的请求流程
查看>>
local unversioned, incoming add upon update问题
查看>>
linux基础nfs服务和计划任务crond服务
查看>>
bzoj3998[TJOI2015]弦论
查看>>
leetcode:Pascal's Triangle II【Python版】
查看>>