1006 最長公共子串行Lcs

2021-10-02 14:33:59 字數 845 閱讀 6791

給出兩個字串a b,求a與b的最長公共子串行(子串行不要求是連續的)。

比如兩個串為:

abcicba

abdkscab

ab是兩個串的子串行,abc也是,abca也是,其中abca是這兩個字串最長的子串行。

收起

第1行:字串a

第2行:字串b

(a,b的長度 <= 1000)

輸出最長的子串行,如果有多個,隨意輸出1個。
abcicba

abdkscab

abca
#include #include #include #include #include #include using namespace std ;

typedef long long ll;

const ll inf = 0x3f3f3f3f3f3f3f3f;

const ll maxn = 1e18+999 ;

const int max = 55005 ;

int n ;

string a , b ;

int dp[1005][1005] ;

char p[max] ;

int cnt ;

int main ()

else

}int len = dp[lena][lenb] ;

p[len] = '\0' ;

int i = lena , j = lenb ;

while(dp[i][j])

} cout

}

1006 最長公共子串行Lcs

給出兩個字串a b,求a與b的最長公共子串行 子串行不要求是連續的 比如兩個串為 abcicba abdkscab ab是兩個串的子串行,abc也是,abca也是,其中abca是這兩個字串最長的子串行。input 第1行 字串a 第2行 字串b a,b的長度 1000 output 輸出最長的子串行...

1006 最長公共子串行Lcs

基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 給出兩個字串a b,求a與b的最長公共子串行 子串行不要求是連續的 比如兩個串為 abcicba abdkscab ab是兩個串的子串行,abc也是,abca也是,其中abca是這兩個字串最長的子串行。input 第1行 字...

1006 最長公共子串行Lcs

給出兩個字串a b,求a與b的最長公共子串行 子串行不要求是連續的 比如兩個串為 abcicba abdkscab ab是兩個串的子串行,abc也是,abca也是,其中abca是這兩個字串最長的子串行。input 第1行 字串a 第2行 字串b a,b的長度 1000 output 輸出最長的子串行...