马拉车(Manacher)
欢迎在评论区留言和订阅专栏!
马拉车算法(Manacher)是一种常见的字符串算法。下面我就来讲一讲。
1.简介
Manacher算法是一种快速判断字符串最长回文长度的一种字符串算法,分为三个步骤:预处理、加速盒子和主算法。
2.代码
1.预处理
string b = "@";
char a[200005];
int n, r, m, ans, d[200005];
void pre(){
for (ll i = 0; i < n; i++){
b += '#';
b += a[i];
}
b+='#';
//如果字符串是"asda",那么处理后的字符串就是"@#a#s#d#a#",为以后的算法做准备。
}
2.加速盒子(提示:这是以中
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
c++算法大全 文章被收录于专栏
本专栏收集了c++大部分基础算法,附有简介和代码。
