hiho 第1周 最长回文子串(manacher)

Posted ehanla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hiho 第1周 最长回文子串(manacher)相关的知识,希望对你有一定的参考价值。

裸题。原理看代码很好理解的。

技术分享图片
 1 //hiho 第1周
 2 #include <set>
 3 #include <map>
 4 #include <queue>
 5 #include <deque>
 6 #include <stack>
 7 #include <cmath>
 8 #include <cstdio>
 9 #include <vector>
10 #include <string>
11 #include <cstring>
12 #include <fstream>
13 #include <iostream>
14 #include <algorithm>
15 using namespace std;
16 
17 #define eps 1e-8
18 #define PI acos(-1.0)
19 #define INF 0x3f3f3f3f
20 #define FAST_IO ios::sync_with_stdio(false)
21 
22 typedef long long LL;
23 const int N=1e6+10;
24 char str[N];
25 
26 int solve(){
27     int ans=1;
28     for(int i=1;str[i];i++){
29         int s=i,e=i;
30         while(str[e+1]==str[i]) e++;
31         i=e;
32         while(str[s-1]==str[e+1]) s--,e++;
33         if((e-s+1)>ans) ans=e-s+1;
34     }
35     return ans;
36 }
37 
38 int main(){
39     str[0]=$;
40     int n;
41     scanf("%d",&n);
42     while(n--){
43         scanf("%s",str+1);
44         printf("%d
",solve());
45     }
46     return 0;
47 }
View Code

 

以上是关于hiho 第1周 最长回文子串(manacher)的主要内容,如果未能解决你的问题,请参考以下文章

51 Nod 1089 最长回文子串(Manacher算法)

#yyds干货盘点#马拉车算法解最长回文子串!Manacher

manacher算法处理最长的回文子串

Manacher算法-最长回文子串

数据结构--Manacher算法(最长回文子串)

51nod 1089 最长回文子串 V2(Manacher算法)