//最長公共字串匹配 看到他們的寫的很短很精練,真心感覺自己寫不出來,我就走我的平淡路線吧!
#include
#include
using
namespace std;
int substr[
201][
201]; 記錄到當前位置的最大匹配數
string str1,str2;
intmmax
(int a,
int b)
void
solve
()if
(flag)
} flag =0;
for(i =
0;i < len1;i++)
if(flag)
}for
(i =
1;i < len1;i++)
else}}
cout<][len2-1
]<}int
main
()return0;
}
POJ 1458 動態規劃
題目演算法 動態規劃 可參考 https 狀態轉移方程 設輸入的兩個字串為s1和s2,那麼用來儲存他們最長公共自序列的長度,則 if s1 i 1 s2 j 1 sum i j sum i 1 j 1 1 狀態轉移方程 else sum i j max sum i 1 j sum i j 1 關於本...
poj 1458 最長公共子串行
common subsequence 題意 一行給出兩個字串s1和s2,找出他們的最長 公共子串行數量,乙個金典的動態規劃問題。用dp i j 表示字串s1取前i個,字串s2取前j個時,他們的最長公共子串行數量有多少。當s2右端又加入了乙個字元時,即表示為dp i j 1 時,如果s1 i 和s2 ...
POJ1458最長公共子串行
為了完成poj中的一題 spell checker 要寫乙個最長公共子串行的程式,居然突然全給忘了,楞是沒有寫出來,深深的鄙視自己一下。這也是一道動態規劃的典型題。遞迴實現如下 poj提交會超時,但是確實可以實現 using namespace std define max a b a b a b ...