HDU 3608 最長回文

2021-07-05 16:58:59 字數 861 閱讀 2122

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 output

4

manacher練手題

#include#include#include#include#includeusing namespace std;

typedef long long ll;

const int maxn = 110005;

char s[maxn], s[maxn * 2];

int f[maxn * 2];

int manacher(char *s)

//manacher演算法,計算出以每個字元為中心的最長回文串

int mx = 0, id = 0, ans = 0;

for (int i = 1; s[i]; i++)

ans = max(ans, f[i] - 1);

} return ans;

}int main()

return 0;

}

hdu3608最長回文子串

首先做這個題目時候以為是動態規劃,可惜的是超時了。雖然超時了,但還是先說說動態規劃。設原串為s用dp i,j 表示s i.j 中最大回文字串的長度,則dp i,j 的子問題可以劃分為dp i 1,j dp i,j 1 以及dp i 1,j 1 當然還需要乙個陣列flag i,j 來記錄狀態。若fla...

HDU 3068 最長回文 最長回文子串

和上一題一樣,不過這題只是要求最長回文子串的長度 在此採用了非常好用的manacher演算法 據說還是o n 的效率qaq 詳細用法參考了上篇部落格的參考資料,這兩天有空學習一下 source code pragma comment linker,stack 16777216 for c compi...

HDU 3068 最長回文

題 目 鏈 接 看完後自己寫了一遍,感覺真的是很神奇的結論啊!本來這題看到可以用字尾陣列來寫的,但沒有學過,去看了一下,真心給暈了,決定找個機會認真研究下。我的 include include includeusing namespace std define min a,b a b a b cha...