nod 1089 最長回文子串 V2

2021-07-12 03:37:24 字數 729 閱讀 5104

回文串是指aba、abba、cccbccc、aaaa這種左右對稱的字串。

輸入乙個字串str,輸出str裡最長回文子串的長度。

input

輸入str(str的長度 <= 100000)
output

輸出最長回文子串的長度l。
input示例

daabaac
output示例

5

最長回文子串,之前只知道最快也就是nlogn 字尾樹,也不太會寫;最近發現有o(n)的manacher演算法,網上一搜一大堆,可以查查看看;

注意不要使用string進行+=操作,否則會超時,太耗費時間了。。。。。。

#include#includeusing namespace std;

int p[200005];

char ch[200005];

int main()

int mx = 0;

int id = 0;

for (int i = 1; i < num; ++ i)

else

p[i] = 1;

while(ch[i+p[i]] == ch[i-p[i]])

p[i]++;

if (i+p[i] > mx)

}int mmax = 0;

for (int i = 1; i < num; ++ i)

}cout << mmax <

51nod1089最長回文子串V2

1089 最長回文子串 v2 manacher演算法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 回文串是指aba abba cccbccc aaaa這種左右對稱的字串。輸入乙個字串str,輸出str裡最長回文子串的長度。input 輸入str str的長度 1000...

1089 最長回文子串

1089 最長回文子串 v2 manacher演算法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 回文串是指aba abba cccbccc aaaa這種左右對稱的字串。輸入乙個字串str,輸出str裡最長回文子串的長度。input 輸入str str的長度 1000...

最長回文子串 V2(Manacher演算法)

回文串是指aba abba cccbccc aaaa這種左右對稱的字串。輸入乙個字串str,輸出str裡最長回文子串的長度。input 輸入str str的長度 100000 output 輸出最長回文子串的長度l。input示例 daabaacoutput示例 5 include include ...