題目:對於字串a1,a2,...,an ,求乙個最大子串長度,使得它或者它的逆向串在每個串中出現
思路:對於a1串,尋找每乙個子串,與之後n-1個串匹配。子串長度的選取可以優化。
#include#include#includeusing namespace std;
const int maxn=101;
bool kmp(string a,string b)
j=-1;
for(i=0;i-1 && a[j+1]!=b[i]) j=fail[j];
if(a[j+1]==b[i]) j++;
if(j==a.length()-1)
return 1;
} return 0;
} int main()
cout<} return 0;
}
poj 最長公共子串行和最長公共子串
最長公共子串行 poj1458 問題描述 給出兩個字串,求出這樣的乙個最長的公共子串行的長度 子串行中的每個字元都能在兩個原串中找到,而且每個字元的先後順序和原串中的先後順序一致。sample input abcfbc abfcab programming contest abcd mnp samp...
最長公共子串行 最長公共子串
1 最長公共子串行 採用動態規劃的思想,用乙個陣列dp i j 記錄a字串中i 1位置到b字串中j 1位置的最長公共子串行,若a i 1 b j 1 那麼dp i j dp i 1 j 1 1,若不相同,那麼dp i j 就是dp i 1 j 和dp i j 1 中的較大者。class lcs el...
最長公共子串行 最長公共子串
1.區別 找兩個字串的最長公共子串,這個子串要求在原字串中是連續的。而最長公共子串行則並不要求連續。2 最長公共子串 其實這是乙個序貫決策問題,可以用動態規劃來求解。我們採用乙個二維矩陣來記錄中間的結果。這個二維矩陣怎麼構造呢?直接舉個例子吧 bab 和 caba 當然我們現在一眼就可以看出來最長公...