最长公共子序列
来源:互联网 发布:java struct 编辑:程序博客网 时间:2024/05/16 03:22
描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。
tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
注意:最长公共子序列和最长公共子串是不一样的。公共子序列只是要求子序列中的字母在母串中的顺序一样就好,并不要求位置完全一样。
过程看了 http://blog.csdn.net/yysdsyl/article/details/4226630/ 博客学会的 解释的很明白
#include<iostream>#include<cstring>using namespace std;string s1,s2;int dp[1001][1001];int LCS(int l1,int l2){ for(int i=0;i<=l1;i++) for(int j=0;j<=l2;j++) { if(i==0||j==0) dp[i][j]=0; else if(s1[i-1]==s2[j-1]) dp[i][j]=1+dp[i-1][j-1]; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } return dp[l1][l2];}int main(){ memset(dp,0,sizeof(dp)); int n; cin>>n; while(n--) { cin>>s1>>s2; cout<<LCS(s1.length(),s2.length())<<endl; } return 0;}
0 0
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列...
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- ORACLE中排序ORDER BY
- C++ fork()以及缓冲结合考点
- CNN的反向求导及练习
- Kali Linux 无线渗透测试入门指南 第三章 绕过 WLAN 身份验证
- linux中的显式运行时链接---dlopen、dlsym、dlerror、dlclose搞起
- 最长公共子序列
- 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞
- python 实现ftp文件下载
- Ubuntu日记——安装和配置Lavarel项目
- tensorflow学习笔记(六):LSTM 与 GRU
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) 部分题解
- Eclipse工具使用技巧总结
- bindService(绑定服务) 流程源码解析
- JAVA垃圾回收机制