最長公共子數列(不連續)

2021-08-31 21:44:07 字數 524 閱讀 1544

最長公共子串行__南陽理工acm

本人覺得這是一道尤其水的動態規劃,通過二維陣列相等以及不相等兩種情況下的最優值尋找即可ac;

具體一點就是if(c1[i]==c2[j])    計數陣列 a[i][j]=a[i-1][j-1]+1;

否則    a[i][j]=max(a[i-1][j],a[i][j-1]);  

**如下:

#include #include #include using namespace std;

int a[1001]; //這裡進行了空間優化,用一維陣列代替二維陣列;a[i][j-1]換成了a[j];a[i][j]換成了a[j];

char ch1[1002],ch2[1002];

int main()

} cout<

} return 0;

}

最長公共子串(連續) 子串行(不連續)

1 最長公共子串 計算兩個字串的最長公共子串的長度,字元不區分大小寫 假設 x 和 y 的序列如下 x 1.m y 1.n 可以看出,x 和 y 的最長公共子串為 a,s,d,f,a,s 即長度為6 2 最長公共子串行 給定兩個序列 x 1.m 和y 1.n 求在兩個序列中同時出現的最長子序列的長度...

最長公共子串行問題(不連續)

最長公共子串行 不連續 問題 乙個給定序列的子串行是在該序列中刪去若干元素後得到的序列。給定兩個序列x和y,當另一串行z既是x的子串行又是y的子串行時,稱z是序列x和y的公共子串行。最長公共子串行就是求給定兩個序列的乙個最長公共子串行。例如,x abcbdab y bcdb 是x的乙個子串行。問題分...

最長公共連續子串和最長連續公共子串行

用二維陣列c i j 記錄串x1 x2 x i x1x2 xi與y 1y 2 y j y1y2 yj 的lcs長度,則可得到狀態轉移方程c i,j 0c i 1 j 1 1max c i,j 1 c i 1,j i 0 orj 0i,j 0a ndxi y j i,j 0a ndxi y j pub...