多敲几个模板题,加深一下对Manacher算法的理解。
这道题给的时间限制15s,是我见过的最长的时间的了。看来是为了让一些比较朴素的求最大回文子串的算法也能A过去
Manacher算法毕竟给力,运行时间200+MS
1 //#define LOCAL 2 #include <iostream> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 8 const int maxn = 1000000 + 100; 9 char s1[maxn], s2[maxn * 2]; 10 int p[maxn * 2]; 11 12 void Init(void) 13 { 14 s2[0] = '$', s2[1] = '#'; 15 int j = 2; 16 for(int i = 0; s1[i] != '