最長公共子序列問題—動態規劃sdut
最長公共子序列問題
Description
給定兩個序列 X={x1,x2,…,xm} 和 Y={y1,y2,…,yn},找出X和Y的最長公共子序列。
Input
輸入資料有多組,每組有兩行 ,每行為一個長度不超過500的字串(輸入全是大寫英文字母(A,Z)),表示序列X和Y。
Output
每組輸出一行,表示所求得的最長公共子序列的長度,若不存在公共子序列,則輸出0。
Sample
Input
ABCBDAB
BDCABA
Output
4
程式碼實現及思想大概.(本人學的也不是很好,也處於一邊學習的路上,如有不合適或者理解錯誤的地方,還請斧正)由於時間原因,思想我會在後期更新。
#include<bits/stdc++.h>
using namespace std;
int main()
{
char x[555],y[555];
int q[555][555];
int i,j,lx,ly;
while(cin>>x>>y)
{
lx=strlen(x);
ly=strlen(y);
memset(q,0,sizeof(q));
for (i=1;i<=lx;i++)
{
for (j=1;j<=ly;j++)
{
if (x[i-1]==y[j-1]) q[i][j]=q[i-1][j-1]+1;
else q[i][j]=max(q[i-1][j],q[i][j-1]);
}
}
cout<<q[lx][ly]<<endl;
}
return 0;
}
相關文章
- 動態規劃經典問題----最長公共子序列動態規劃
- 動態規劃-最長公共子序列動態規劃
- 動態規劃——最長公共子序列動態規劃
- 動態規劃(最長公共子序列LCS)動態規劃
- 力扣1143. 最長公共子序列 動態規劃之最長公共子序列力扣動態規劃
- 以最長公共子序列問題理解動態規劃演算法(DP)動態規劃演算法
- 動態規劃求解最長上升子序列問題動態規劃
- 淺談最長公共子序列引發的經典動態規劃問題動態規劃
- 動態規劃之最長公共子序列求解動態規劃
- 詳解動態規劃最長公共子序列--JavaScript實現動態規劃JavaScript
- python 動態規劃(揹包問題和最長公共子串)Python動態規劃
- 【LeetCode動態規劃#14】子序列系列題(最長遞增子序列、最長連續遞增序列、最長重複子陣列、最長公共子序列)LeetCode動態規劃陣列
- 動態規劃:最長上升子序列動態規劃
- 最長上升子序列動態規劃動態規劃
- 動態規劃-最長上升子序列模型動態規劃模型
- [LeetCode解題] -- 動態規劃二 [ 子串、子序列問題 ]LeetCode動態規劃
- 動態規劃求最長降序序列動態規劃
- 最長公共子序列
- 動態規劃之子序列問題動態規劃
- 最長公共子序列(JAVA)Java
- [動態規劃] 六、最長迴文子串動態規劃
- 北京大學郭煒-最長上升子序列 動態規劃講解動態規劃
- [題解]P1439 【模板】最長公共子序列
- 最長公共子序列求方案數
- java 實現 最長公共子序列Java
- 最長公共子序列 Longest Common Subsequence
- 線性dp:最長公共子序列
- LeetCode 1143.最長公共子序列LeetCode
- LeetCode 300. 最長上升子序列(Python、動態規劃、貪心演算法)LeetCodePython動態規劃演算法
- 領釦LintCode演算法問題答案-77. 最長公共子序列演算法
- LeetCode 1626. 無矛盾的最佳球隊---【動態規劃】最長上升子序列變換版-->最大上升子序列和LeetCode動態規劃
- 最長公共子序列LCS 輸出所有LCS
- 51Nod 1006 最長公共子序列Lcs
- 最長公共子序列你學會了嗎
- 經典演算法題每日演練——最長公共子序列演算法
- 雙序列動態規劃動態規劃
- 字串篇(python)—兩個字串的最長公共子序列字串Python
- 【動態規劃】揹包問題動態規劃