(待填坑)【字符串】manacher(马拉车)算法

Manacher算法是一种在O(n)时间内找到字符串最长回文子串的高效算法。该算法通过处理奇数长度和偶数长度字符串的方式寻找对称中心,并利用回文串的对称性质来优化搜索过程。在洛谷P3805题中,要求求解给定字符串的最长回文串长度。此外,该算法也在洛谷P1659和P4555等题目中有所应用,尤其是在处理回文字符串和寻找特定回文子串的场景下。
摘要由CSDN通过智能技术生成

知识点

manacher算法可以在时间复杂度为O(n)的情况下,求出一个字符串的最长回文子串的算法。

一 . 实现步骤

① 在字符串的各个字母中间加上一个字符,使其变成奇数字符串。对于原来是偶数字符串来说,添加的字符“#”作为对称中心;原来是奇数字符串的最中间的字母为对称中心。

处理后的偶数字符串

 ② 设字符串的对称中心为mid,r表示最长回文串的右端点在哪里,i 表示当前扫描到的节点,j 节点表示 i 节点关于字符串对称中心对称的位置。


模板题

洛谷 P3805 【模板】manacher 算法

题目描述

给出一个只由小写英文字符 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值