poj1458解題報告

2021-06-13 11:03:27 字數 563 閱讀 1299

//最長公共字串匹配  看到他們的寫的很短很精練,真心感覺自己寫不出來,我就走我的平淡路線吧!
#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 ...