博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2752 Seek the Name, Seek the Fame (KMP next 数组 变形)
阅读量:5154 次
发布时间:2019-06-13

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

题意:给一个字符串S,判断在什么下标的时候,前缀和后缀相等,输出前缀和后缀相等的点。

分析:next数组的一种很巧妙的用法

next数组表示的意义是当前下标前面k字符和开头的前面k个字符相等

所以就会有xy=ab(用xy表示x - y的这一段),则next[b]=y,那么下次就从y这个位置开始匹配

如果xk=wy,因为xy=ab,故wy=lb,所以xk=lb,就得到了前缀和后缀相等。

详细见:

代码:

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; #define INF 0x7fffffff char s[400010]; int next[400010]; void get_next(){ int i,j,len = strlen(s); next[0] = 0; next[1] = 0; for(i=1;i

转载于:https://www.cnblogs.com/jxgapyw/p/4774334.html

你可能感兴趣的文章
oracle学习
查看>>
【C语言项目】贪吃蛇游戏(下)
查看>>
DevExpress第三方控件汉化的全部代码和使用方法
查看>>
二分查找算法(C#实现)
查看>>
vue项目中开启Eslint碰到的一些问题及其规范
查看>>
ES terms多值搜索及范围过滤深入剖析-搜索系统线上实战
查看>>
大咖专栏 | DevOps组织如何有效地实施MSA
查看>>
工厂模式
查看>>
忍不住了, 和大家聊聊怎么写简历吧, 关于简历的深度思考
查看>>
高并发编程
查看>>
(前端)html与css css 19、tab栏
查看>>
一起来学习.net core程序使用中介者模式:MediatR插件
查看>>
debian9 设置
查看>>
5句话搞定ES5作用域
查看>>
Build tool
查看>>
php 小坑记录
查看>>
2018.7.28 二叉树的遍历规则(前序遍历、后序遍历、中序遍历)
查看>>
通过 poi 导入 Excel代码
查看>>
《CSS基础教程》 读书笔记三
查看>>
洛谷P4482 [BJWC2018]Border 的四种求法 字符串,SAM,线段树合并,线段树,树链剖分,DSU on Tree...
查看>>