用「馬拉車」演算法,規範**,若原字串為『asdfasdfasdf』標記第乙個字元為『$』,最後乙個字元為『?』,然後中間再加工成'#a#s#d#f#a#s#d#f#a#s#d#f#',最後整一串為:'$#a#s#d#f#a#s#d#f#a#s#d#f#?'
處理完後跑一遍馬拉車
#include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
const int maxn = 2000505;
char s[maxn];
char ch[maxn*2];
int rad[maxn*2];
int main()
}printf("%d\n",maxs-1);
}return 0;
}
hiho一下第一周 最長回文子串
類似於kmp的思想,利用已經匹配的資訊計算未匹配的資訊。基本原理就是 我們將f i 定義為以i為中心的最長回文串長度。那麼如果有f 5 7,f 4 3,那麼我們可以得到f 6 3.以此來減少比較次數。當然還有一些細節要處理。比如回文串長度的奇偶性。這個是我自己寫的版本,不是很精簡。include i...
hiho一下第一周 最長回文子串
時間限制 1000ms 單點時限 1000ms 記憶體限制 256mb 小hi和小ho是一對好朋友,出生在資訊化社會的他們對程式設計產生了莫大的興趣,他們約定好互相幫助,在程式設計的學習道路上一同前進。這一天,他們遇到了一連串的字串,於是小hi 就向小ho 提出了那個經典的問題 小ho 你能不能分別...
hiho一下 第一周(最長回文子串)
時間限制 1000ms 單點時限 1000ms 記憶體限制 64mb 小hi和小ho是一對好朋友,出生在資訊化社會的他們對程式設計產生了莫大的興趣,他們約定好互相幫助,在程式設計的學習道路上一同前進。這一天,他們遇到了一連串的字串,於是小hi就向小ho提出了那個經典的問題 小ho,你能不能分別在這些...