
最长回文子串
文章平均质量分 74
薄帷清风
小河弯弯 浪遏飞舟
展开
-
poj_3974 Palindrome(最长回文子串)
【题目】 点击这里 【思路】 直接运用Manacher算法。 【代码】 #include #include #define maxSize 1000005 #define min(x,y) (x<y)? x:y char str[maxSize], s[maxSize*2+3]; long int r[maxSize*2+3]; long int manacher() {原创 2016-02-10 23:36:46 · 429 阅读 · 0 评论 -
练习:最长回文子串(Manacher算法)
【例题】 点击这里 【思路】 最长回文子串是个非常经典的问题,Manacher算法是解决它的O(n)优秀算法。 该算法提出在字符串相邻字符间插入字符,从而在中心拓展时无需考虑串长度的奇偶性(显然,对于任意长度为n的串,有n-1个间隔,故而补全串长度为2n-1,总为奇数)。 举个例子:原串str为abababa,长度为7。则补全串s为$#a#b#a#b#a#b#a#*,长度为17。其中#、原创 2016-02-10 17:33:44 · 602 阅读 · 0 评论