SDUT 最長公共子串行長度 動態規劃

2021-08-17 09:43:55 字數 698 閱讀 3795

time limit: 1000 ms

memory limit: 65536 kib

submit

statistic

problem description

給定兩個序列x=

input

輸入資料有多組,每組有兩行 ,每行為乙個長度不超過500的字串(輸入全是大寫英文本母(a,z)),表示序列x和y。

output

每組輸出一行,表示所求得的最長公共子串行的長度,若不存在公共子串行,則輸出0。

sample input

abcbdab

bdcaba

sample output

4

hint

#include#includechar x[510];

char y[510];

int sum[510][510];//即 演算法書上統計長度的那個矩陣,

//第一行第一列為 0 ,裡面n*m

int main()

for(j=0;j<=len2;j++)

for(i=1;i<=len1;i++)

else

else}}

} printf("%d\n",sum[len1][len2]);

} return 0;

}

求最長公共子串行長度

1.求最長公共子串行 子串行可以不連續 這是一道動態規劃題,設二維陣列dp i j dp i j 表示a串前i個字元 包括第i個 與b串前j個字元 包括第j個 所有的公共子串行的最長長度。例如,a串abbcd,b串abcd,dp 3 3 就表示的a的前三個字元與b的前三個字元的最長公共子串行長度,值...

動態規劃求最長公共子串行長度和子串行

求兩個字串的最長公共子串行時,需要用到兩個陣列c maxlen maxlen b maxlen maxlen c maxlen maxlen 用於記錄兩個字串的lcs 最長公共子串行 的長度,b maxlen maxlen 記錄回溯時搜尋方向,1表示上方,1表示左方,0表示左上方。動態轉移方程 b ...

SDUT 動態規劃 最長公共子串行

最長公共子串行 problem description 從乙個給定的串中刪去 不一定連續地刪去 0個或0個以上的字元,剩下地字元按原來順序組成的串。例如 a xb aaa bbb xabb xaaabbb 都是串 xaaabbb 的子串行。例子中的串不包含引號。程式設計求n個非空串的最長公共子串行的...