news 2026/2/25 4:31:39

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/2/23 11:15:43

Fast-GitHub:彻底解决GitHub访问困境的终极方案

Fast-GitHub&#xff1a;彻底解决GitHub访问困境的终极方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 作为一名开发者&#x…

作者头像 李华
网站建设 2026/2/24 2:34:23

ProxMox VE系统管理利器:pvetools工具集完全指南

ProxMox VE系统管理利器&#xff1a;pvetools工具集完全指南 【免费下载链接】pvetools pvetools - 为 Proxmox VE 设计的脚本工具集&#xff0c;用于简化邮件、Samba、NFS、ZFS 等配置&#xff0c;以及嵌套虚拟化、Docker 和硬件直通等高级功能&#xff0c;适合系统管理员和虚…

作者头像 李华
网站建设 2026/2/24 8:53:13

3个简单步骤:让你的Switch手柄在PC上完美运行

3个简单步骤&#xff1a;让你的Switch手柄在PC上完美运行 【免费下载链接】JoyCon-Driver A vJoy feeder for the Nintendo Switch JoyCons and Pro Controller 项目地址: https://gitcode.com/gh_mirrors/jo/JoyCon-Driver 还在为PC游戏找不到合适的手柄而烦恼吗&#…

作者头像 李华
网站建设 2026/2/24 20:11:57

anything-llm的主题模式切换:深色/浅色界面体验对比

anything-llm 的主题模式切换&#xff1a;深色与浅色界面的体验进化 在夜间昏暗的书房里&#xff0c;你正通过本地部署的 AI 系统查阅一份长达百页的技术文档。屏幕刺眼的白光不断刺激着双眼&#xff0c;阅读几分钟后便感到轻微头痛——这并非个例&#xff0c;而是许多 LLM 应用…

作者头像 李华
网站建设 2026/2/22 14:57:24

Navicat Mac版试用期重置终极指南:免费无限使用解决方案

Navicat Mac版试用期重置终极指南&#xff1a;免费无限使用解决方案 【免费下载链接】navicat_reset_mac navicat16 mac版无限重置试用期脚本 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为Navicat Premium的14天试用期到期而烦恼吗&#xff1…

作者头像 李华
网站建设 2026/2/20 10:18:42

Tablacus Explorer v25.12.22丨Windows文件管理器

Tablacus Explorer v25.12.22 是 Windows 系统下口碑出众的轻量化高级文件管理器&#xff0c;支持多标签页、多面板、鼠标手势等核心功能&#xff0c;可通过扩展插件无限拓展能力&#xff0c;是替代传统文件管理器的高效实用工具。软件简介Tablacus Explorer v25.12.22 专为 Wi…

作者头像 李华