登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
Manacher(马拉车)算法
Manacher(马拉车)算法
[ 复制链接 ]
泥地锚
2025-6-1 21:57:31
1.前置知识
回文子串
回文的子串
最长回文子串
字符串中最长的回文子串
回文半径
设以\(i\)为中心的最大回文子串的长度为\(n\),则这个字符串第\(i\)位的回文半径为\((n+1)/2\)
2.算法流程
2.1 预处理
在处理回文子串(马拉车算法适用)的问题时,一般需要求出每一位的回文半径
经常做字符串题目的同学都知道,在处理这种问题时,最大的阻碍一般就是字符串长度的奇偶性以及边界
不难想到,我们可以在字符串的首尾分别插入一个字符来解决边界问题
也不难想到,我们可以在每一个字符的首尾都添加一个字符(包括第\(1\)个和最后一个)
由此,我们可以得到一个新字符串。
这里举一个例子,
原字符串s:ababa
进行完操作1(首尾标记)的字符串 s1: @ababa@
进行完操作2(字符插入)的字符串 s2: @#a#b#a#b#a#@
根据流程不难得出代码:
[code]cin>>a;//原串int len=strlen(a);int k=0;s[0]='$';s[1]='#';k++;for(int i=0;i
Manacher
马拉车
拉车
算法
相关帖子
优雅求模,一致性哈希算法
手把手教你如何用yolo算法进行运动监测
Blelloch并行扫描算法
Theta-star算法代码实现
超长语音合成、算法学习库、自托管软件导航,开发者速收
快速幂算法的基础和扩展
欧几里得算法与扩展欧几里得算法详解
secp256k1算法详解四(关键点补充说明)
深度学习优化器算法巧思速览
国庆做题记录(基础算法)
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
优雅求模,一致性哈希算法
0
134
裴涛
2025-09-28
业界
手把手教你如何用yolo算法进行运动监测
0
362
遇玷
2025-10-01
业界
Blelloch并行扫描算法
0
93
荡俊屯
2025-10-01
安全
Theta-star算法代码实现
0
979
赵淳美
2025-10-01
业界
超长语音合成、算法学习库、自托管软件导航,开发者速收
0
274
余思洁
2025-10-02
业界
快速幂算法的基础和扩展
0
798
忙贬
2025-10-03
安全
欧几里得算法与扩展欧几里得算法详解
0
130
赶塑坠
2025-10-03
业界
secp256k1算法详解四(关键点补充说明)
0
496
红弘丽
2025-10-06
业界
深度学习优化器算法巧思速览
0
993
聊账
2025-10-08
业界
国庆做题记录(基础算法)
0
766
椎蕊
2025-10-09
回复
(1)
马璞玉
4 小时前
回复
使用道具
举报
照妖镜
感谢,下载保存了
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
泥地锚
4 小时前
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9999501
dage888
999994
富账慕
10007
4
匝抽
9986
5
孙淼淼
9992
6
柴古香
9993
7
筒濂
9982
8
凌彦慧
9991
9
崔瑜然
9984
10
慢秤
9979
查看更多