最長公共子串行問題
time limit: 1000 ms memory limit: 65536 kib
problem description
給定兩個序列 x= 和 y=,找出x和y的最長公共子串行。
input
輸入資料有多組,每組有兩行 ,每行為乙個長度不超過500的字串(輸入全是大寫英文本母(a,z)),表示序列x和y。
output
每組輸出一行,表示所求得的最長公共子串行的長度,若不存在公共子串行,則輸出0。
sample input
abcbdab
bdcaba
sample output
4
#include
#include
#include
using
namespace std;
const
int n =
501;
char a[n]
,b[n]
;int dp[n]
[n];
intmain()
for(
int j =
0; j <= lenb; j++
)///狀態轉移方程
for(
int i =
1; i<=lena; i++)}
}printf
("%d\n"
,dp[lena]
[lenb]);
}return0;
}
最長公共子串行問題 DP
problem description 給定兩個序列 x 和 y 找出x和y的最長公共子串行。input 輸入資料有多組,每組有兩行 每行為乙個長度不超過500的字串 輸入全是大寫英文本母 a,z 表示序列x和y。output 每組輸出一行,表示所求得的最長公共子串行的長度,若不存在公共子串行,則輸...
DP 最長公共子串行
解題報告 題目 演算法 dp 最長公共子串行 思路 最長公共子串行,英文縮寫為lcs longest common subsequence 其定義是,乙個數列 s 如果分別是兩個或多個已知數列的子串行,且是所有符合此條件序列中最長的,則 s 稱為已知序列的最長公共子串行。d i j 表示s1的第i位...
最長公共子串行 DP
有序子串行定義 若x 則它的子串行為y 即原序列調出若干項組成的序列且下標要求有序。lcs 最長公共子串行 定義 給定兩個序列x 和y 存在乙個嚴格遞增的x的下標序列為,對所有的j 1,2,3.k,滿足xi yj,例如x 1 4 3 2 5 y 4 3 5 7 則x和y的最長公共子串行為 4 3 5...