Hdu 3068 最長回文(馬拉車演算法模板題)

2021-09-27 07:01:48 字數 683 閱讀 8302

傳送門

problem description

給出乙個只由小寫英文本元a,b,c…y,z組成的字串s,求s中最長回文串的長度.

回文就是正反讀都是一樣的字串,如aba, abba等

input

輸入有多組case,不超過120組,每組輸入為一行小寫英文本元a,b,c…y,z組成的字串s

兩組case之間由空行隔開(該空行不用處理)

字串長度len <= 110000

output

每一行乙個整數x,對應一組case,表示該組case的字串中所包含的最長回文長度.

sample input

aaaa

abab

sample output43

哇,乙個模板題,t到懷疑人生,加上讀入優化就過了,這個故事告訴我們,,以後用cin必優化,就醬紫

#include

#include

#include

#include

using namespace std;

int manacher

(string s)

return ans;

}int main()

return0;

}

HDU 3068 最長回文 馬拉車

題目大意 給出乙個字串s,求出s中的最長回文子串 題目分析 馬拉車模板題目,這個題目給的時間有點少,這個題目二分 雜湊應該也能搞過,但知道馬拉車之後就懶得再去寫了。大概就是這樣吧 include include include include include include include incl...

HDU 3068 最長回文(馬拉車模板題)

給出乙個只由小寫英文本元a,b,c y,z組成的字串s,求s中最長回文串的長度.回文就是正反讀都是一樣的字串,如aba,abba等 input 輸入有多組case,不超過120組,每組輸入為一行小寫英文本元a,b,c y,z組成的字串s 兩組case之間由空行隔開 該空行不用處理 字串長度len 1...

Hdu 3068最長回文 Manacher演算法

這是一種能夠在將近o n 的時間裡求出給定字串的最長回文子串的演算法。首先我們知道字串的長度分奇偶,這對我們考慮問題影響很大,所以在給定字串的所有字元之間插入乙個無關字元 包括首尾 這樣對答案沒有什麼影響,而且字串的長度都變為n 2 1,是個奇數。然後定義乙個f陣列,f i 表示以i為中心向右 向左...