題意:給一個字符串,問最長的一個子串A,他是前綴,同時是後綴,並且中間也出現過A。並且出現的三個A都不沒有重疊部分。
解法:先KMP求出失配數組,然後將所有的是後綴且是前綴的打上標記,然後遍歷整個next數組,(對於每個位置的next來說,一直next向前取就是找到此前綴的一個個是整個字符串前綴的後綴,比較繞)暴力枚舉判斷每個串的所有匹配前綴的後綴是否合法。
代碼:
/****************************************************
* author:xiefubao
*******************************************************/
#pragma comment(linker, "/STACK:102400000,102400000")
#include
#include
#include
#include
#include
#include
#include
#include
#include