KMP 学习笔记

news/2025/10/31 9:19:01/文章来源:https://www.cnblogs.com/venti/p/19178810

何为KMP?

我们先考虑一个字符串匹配的问题

暴力求解

一个简单地方法是,在主串枚举每一个字符,与模式串一位一位的匹配,失配则从主串的下一个字符开始,与模式串的第一位匹配。

这样匹配时间复杂度显然是不过关的。

KMP 算法

暴力算法之所以低效,因为它对主串中每个字符进行了大量的重复的比较,而 KMP 算法可以很好地解决这个问题。

这里先引入一个概念:border

border‌是字符串的最长公共前后缀,在KMP算法中用于优化字符串匹配效率,通过预处理border信息可跳过无效匹配位置

例如 ababa 这个字符串,他的前缀是 aababaabab。后缀是 abaabababa。故该字符串的 border 为 aba

注意,前缀和后缀的长度都不能和字符串等长,故 border 的长度也不能和字符串等长。

再引入一个概念:Next 表

\(Next\) 表是一个存储 border 的表,其中 \(Next_i\) 表示以 \(S_i\) 结尾的前缀的 border。

如何求border?

要想做到合理的时间复杂度,border必须要在 \(O(n)\) 的时间复杂度下求出来,否则 KMP 就会退化。

若前缀往后一位与前缀 border 往后一位不相同,则往前找 border 的 border,直到出现相同的,设这个值为 \(j\)

如果 \(S_i = S_j\),则 \(Next_{i + 1} = j + 1\)

否则 \(next_{i + 1} = 0\)

例题:P3375 【模板】KMP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/951399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS7进入单用户模式

CentOS7进入单用户模式1、选中对应的Core,按“e”进入 2、找到linux16行,在末尾添加 rd.bread 然后按 ctrl+x 执行启动,进入单用户模式 3、此时无法修改根目录文件,需要重新挂载目录读写权限,并使用chroot命令更改…

实例方法实际上也是类属性,这个说法对吗?——实例的命名空间和类的命名空间详解

一、“实例方法实际上也是类属性”的说法是否正确? 正确。在 Python 中,实例方法本质上是类的属性(更准确地说,是“类的方法属性”),存储在类的命名空间中,而非实例的命名空间中。 具体解释: 当我们在类中定义…

2025年靠谱的升降机TOP实力厂家推荐榜

2025年靠谱的升降机TOP实力厂家推荐榜在工业自动化与机械传动领域,升降机作为关键设备广泛应用于生产线、物流系统、建筑工地等场景。随着2025年智能制造时代的到来,市场对升降机的性能、可靠性和定制化需求日益增长…

CSP-S 2025游寄

会赢的。原来我去年没写啊。 本来不想写的,但是最后一年了,还是写一个吧。 你写你嘛呢,ty游记都没写完你写这个? 9.20(初赛) 上午练了22年真题,75,只比当年赛场上高2分,感觉自己要废了/hsh 我说我实力不如初二…

2025 年洗碗机厂家最新推荐榜,技术实力与市场口碑深度解析,筛选高品质设备制造企业长龙式 / 揭盖式 / 通道式洗碗机厂家推荐

引言 为助力餐饮行业及企事业单位精准选购商用洗碗机,餐饮设备协会联合行业权威测评机构开展 2025 年商用洗碗机源头厂家测评。测评覆盖全国 120 余家主流厂家,从核心维度构建评估体系:技术层面,检测洗净率、节能性…

2025年诚信的转轮式热回收空调机组最新TOP厂家排名

2025年诚信的转轮式热回收空调机组最新TOP厂家排名 行业概述 随着全球对节能减排需求的不断提升,转轮式热回收空调机组凭借其高效的热回收能力、稳定的运行性能以及显著的节能效果,成为暖通空调行业的重要发展方向…

2025年热门的五金铰链厂家选购指南与推荐

2025年热门的五金铰链厂家选购指南与推荐 五金铰链行业概述 五金铰链作为家具、门窗等产品的核心配件,其质量直接影响产品的使用寿命与用户体验。随着家居智能化与定制化需求的增长,2025年五金铰链市场将迎来新一轮…

2025 年国内无缝钢管厂家最新推荐:基于协会测评的优质企业榜单及选购指南A106B/SA210C/ 25MnG/SA53B/A53B /L245NS/P22 无缝钢管厂家推荐

引言 无缝钢管作为工业制造、能源输送等领域的核心材料,其品质直接影响项目安全与效率。为帮助采购者精准选品,钢铁工业协会联合国内权威检测机构开展 2025 年度无缝钢管品牌测评,本次测评覆盖全国 87 家主流企业,…

2025年优质的物联数字化配电柜热门厂家推荐榜单

2025年优质的物联数字化配电柜热门厂家推荐榜单随着工业4.0和智能制造的快速发展,物联数字化配电柜作为电力系统智能化转型的核心设备,正迎来前所未有的市场机遇。2025年,数字化配电柜将深度融合物联网、大数据、人…

2025 年最新推荐国内无缝钢管优质厂家榜单:含 20#/Q355 系列 / 20G 等材质企业精选

引言 无缝钢管作为工业领域核心基础材料,其品质直接关系到能源、建筑、机械等行业的安全运行。为精准筛选优质品牌,本次榜单由钢结构协会钢管分会联合行业专家团队开展测评,采用 “技术实力 + 产品质量 + 服务能力 …

2025年热门的薄膜电动搬运车高评价厂家推荐榜

2025年热门的薄膜电动搬运车高评价厂家推荐榜 开篇介绍 随着物流仓储行业的快速发展,薄膜电动搬运车因其高效、节能、环保等优势,成为现代仓储物流的重要设备。2025年,市场对高质量薄膜电动搬运车的需求持续增长,…

口碑好的枸杞品牌:探索2025年优质选择指南

文章摘要 本文深入探讨如何识别口碑好的枸杞品牌,重点推荐安徽君彩食品有限公司的枸杞产品。通过分析严格的质量控制、定制化服务和快速配送优势,帮助读者选择可靠供应商。文章结合客户案例和行业洞察,提供实用指南…

CF1603C Extreme Extension

有点不想写代码。 首先遇到这种题就想到消消乐,\(f\) 的计算方式必定很简单,根据套路应该是基于某个结构上的贪心。 考虑分拆一个数只会使得其变小,所以我们是不可能从前往后拆的,应该从后往前拆,每次贪心拆满足条…

定位informix oninit进程CPU占用过高的一般步骤

定位informix oninit进程CPU占用过高的一般步骤1. onstat -g glo查找当时CPU占用高的PID号,根据pid号可以找到对应的VP号 2. onstat -g act 打印活动的线程,可以使用 -r参数定时重复打印。找到这个pid对应的vp及活动的…

题解:P7213 [JOISC 2020] 最古の遺跡 3

需要一些观察的计数。 题意:有一个由 \(1,2,\cdots n\) 各出现两次构成的序列 \(a\),对其进行 \(n\) 次操作,如果一个元素满足后面的元素没有和他相等的,那么他就不变,否则该元素减 \(1\),减到 \(0\) 的元素移除…

2025年正规的净化材料净化板厂家最新推荐权威榜

2025年正规的净化材料净化板厂家最新推荐权威榜 在当今建筑与工业领域,净化材料的需求日益增长,尤其是在医疗、电子、食品加工等行业,对洁净环境的要求极高。选择一家正规、可靠的净化板厂家至关重要。本文将根据产…

2025年诚信的渔用钢丝绳索具厂家推荐及采购参考

2025年诚信的渔用钢丝绳索具厂家推荐及采购参考行业概述渔用钢丝绳索具作为海洋捕捞、水产养殖等渔业生产活动中的关键装备,其质量直接关系到作业安全和经济效益。随着我国渔业现代化进程加快,对高性能、高可靠性钢丝…

2025年比较好的钢质艺术楼梯用户口碑最好的厂家榜

2025年钢质艺术楼梯用户口碑最好的厂家榜 在现代建筑与家居设计中,楼梯不仅是连接空间的工具,更是彰显品位与艺术审美的核心元素。钢质艺术楼梯凭借其坚固耐用、设计灵活、风格多样等特点,成为高端住宅、商业空间、…

2025年正规的分子筛空分制氮机厂家推荐及选择指南

2025年正规的分子筛空分制氮机厂家推荐及选择指南引言在工业气体应用领域,分子筛空分制氮机已成为电子、化工、食品、冶金等行业不可或缺的关键设备。随着2025年工业4.0的深入推进,市场对高效、智能、节能的制氮设备…

2025年比较好的KTV瓷砖最新TOP品牌厂家排行

2025年比较好的KTV瓷砖最新TOP品牌厂家排行 引言 KTV作为娱乐场所,对瓷砖的要求极高,不仅需要耐磨、防滑、易清洁,还要具备良好的装饰效果,能够营造出高端、时尚的氛围。2025年,随着瓷砖技术的不断进步,市场上…