news 2026/5/1 7:12:14

C++求最长回文子串——Manacher(马拉车)算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++求最长回文子串——Manacher(马拉车)算法

一、问题背景

求最长回文子串(长度),数据规模超大时唯一可行的O(n)算法

二、Manacher 的核心思想

利用回文的对称性,避免重复扩展,从而把所有扩展操作压缩到 O(n)。

三、关键技巧 1:统一奇偶回文

原串: a a a b b a c 处理后:^# a # a # a # b # b # a # c # $

好处:
所有回文长度统一为“奇数”;回文中心永远是一个字符;始末特殊字符避免扩展时超出边界。

四、关键技巧 2:回文半径数组 p[]

p[i] 表示:以 i 为中心,向左右能扩展的最大半径,即为去掉填充字符后回文串的长度。

五、关键变量(运行时维护)

center:当前最右回文的中心
right :该回文能覆盖到的最右端位置
始终满足:

right=center+p[center]

六、Manacher 的核心步骤

对每个位置 i:
① 计算对称点mirror = 2 * center - i

② 初始化 p[i]
如果 i < right:p[i] = min(right - i, p[mirror])
否则:p[i] = 0

③ 尝试继续向两边扩展

while(t[i+p[i]+1]==t[i-p[i]-1])p[i]++;

④ 更新最右回文

if(i+p[i]>right){center=i;right=i+p[i];}

最长回文子串长度 = max(p[i])

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:51:21

lx-music-desktop:开源音乐播放器的极致体验指南

在数字音乐时代&#xff0c;你是否厌倦了商业音乐平台的广告干扰和会员限制&#xff1f;lx-music-desktop作为一款基于Electron框架的开源音乐播放器&#xff0c;为你带来了全新的音乐聆听体验。这款软件不仅聚合了多个音乐平台的资源&#xff0c;还提供了高度自定义的界面和零…

作者头像 李华
网站建设 2026/5/1 6:55:47

Hyper-V设备直通终极方案:智能管理平台一键配置革命

在虚拟化技术深度渗透企业IT架构的今天&#xff0c;Hyper-V离散设备分配&#xff08;DDA&#xff09;功能为高性能计算场景提供了前所未有的硬件直通能力。然而&#xff0c;传统命令行配置的复杂性和技术门槛&#xff0c;让这一强大功能长期被束之高阁。现在&#xff0c;一款革…

作者头像 李华
网站建设 2026/5/1 7:04:56

米游社自动化签到工具终极指南:轻松获取游戏福利的完整方案

米游社自动化签到工具终极指南&#xff1a;轻松获取游戏福利的完整方案 【免费下载链接】MihoyoBBSTools Womsxd/AutoMihoyoBBS&#xff0c;米游社相关脚本 项目地址: https://gitcode.com/gh_mirrors/mi/MihoyoBBSTools 还在为每天手动签到米游社而烦恼吗&#xff1f;M…

作者头像 李华
网站建设 2026/5/1 7:10:26

暗黑3技能连点器:从零开始掌握自动化战斗艺术

想要在暗黑破坏神3中实现技能释放的完美节奏&#xff1f;这款功能强大的暗黑3自动化工具正是你需要的得力助手。通过智能连点系统和多配置管理&#xff0c;它能显著提升你的游戏表现和操作效率。 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义…

作者头像 李华
网站建设 2026/5/1 6:16:41

Fast-GitHub:彻底解决GitHub访问难题的完整方案

Fast-GitHub&#xff1a;彻底解决GitHub访问难题的完整方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 国内开发者在日常工作中…

作者头像 李华
网站建设 2026/4/30 14:38:13

终极指南:如何用CAJ2PDF轻松完成文献格式转换

终极指南&#xff1a;如何用CAJ2PDF轻松完成文献格式转换 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换&#xff0c;成功与否&#xff0c;皆是玄学。 项目地址: https://gitcode.com/gh_mirrors…

作者头像 李华