3 1 最長公共子串行長度 15分

2021-10-09 02:08:36 字數 1012 閱讀 4785

求兩個字串的最長公共子串行長度。

輸入格式:

輸入長度≤100的兩個字串。

輸出格式:

輸出兩個字串的最長公共子串行長度。

輸入樣例1:

abcbdab

bdcaba

輸出樣例1:

輸入樣例2:

abacdef

pghik

輸出樣例2:

動態規劃問題 主要是處理好邊界以及狀態轉移方程。

pat不可以用gets函式,就換成了fgets函式,主要是想一開始就處理好下標從1開始

#include

#include

#include

#include

const

int n =

100;

using

namespace std;

char a[n]

, b[n]

;int dp[n]

[n];

intmain()

for(

int j =

0; j <= len2; j++

)//狀態轉移方程

for(

int i =

1; i <= len1; i++)}

//cout << dp[len1][len2];

cout << dp[len1-1]

[len2-1]

;return0;

}

求最長公共子串行長度

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

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

time limit 1000 ms memory limit 65536 kib submit statistic problem description 給定兩個序列x input 輸入資料有多組,每組有兩行 每行為乙個長度不超過500的字串 輸入全是大寫英文本母 a,z 表示序列x和y。out...

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

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