Longest Common Subsequence
来源:互联网 发布:网络装修平台有哪些 编辑:程序博客网 时间:2024/05/20 13:15
Longest Common Subsequence
最長共通部分列
最長共通部分列問題 (Longest Common Subsequence problem: LCS)は、2つの与えられた列
ある列
与えられた2つの文字列
入力
複数のデータセットが与えられます。最初の行にデータセットの数
出力
各データセットについて
制約
入力例 1
3
abcbdab
bdcaba
abc
abc
abc
bc
出力例 1
4
3
2
参考文献
Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The MIT Press.
解题思路:
本题是一个裸的LCS,动态转移方程如下
当
否则
i和j表示序列一的前i个字符和序列二的前j个字符的最长公共子序列的长度为dp[i][j]
代码如下:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 1050;char s1[maxn],s2[maxn];int f[maxn][maxn];int main(){ int T; scanf("%d",&T); while(T--) { scanf("%s%s",s1,s2); int len1 = strlen(s1); int len2 = strlen(s2); memset(f,0,sizeof(f)); for(int i = 0;i <= len1; i++) { for(int j = 0;j <= len2; j++) { if(i == 0 || j == 0)f[i][j] = 0; else { if(s1[i-1] == s2[j-1])f[i][j] = f[i-1][j-1] + 1; else f[i][j] = max(f[i-1][j],f[i][j-1]); } } } printf("%d\n",f[len1][len2]); }}
- longest common subsequence
- Longest Common Subsequence
- 10405 Longest Common Subsequence
- UVa10405 - Longest Common Subsequence
- 10405 - Longest Common Subsequence
- UVa10405 - Longest Common Subsequence
- UVaOJ10405 - Longest Common Subsequence
- 10405 - Longest Common Subsequence
- uva10405 Longest Common Subsequence
- 10405 - Longest Common Subsequence
- 10405 - Longest Common Subsequence
- Uva10405 Longest Common Subsequence
- UVaOJ_10405 - Longest Common Subsequence
- Longest common subsequence / substring
- uva10405 - Longest Common Subsequence
- longest common subsequence 问题
- [DP]Longest Common Subsequence
- UVA10405 Longest Common Subsequence
- linux下zabbix监控环境搭建
- 一行代码实现F11的功能,即让浏览器窗口全屏
- 插入数据时返回主键值
- 机器学习-scikit learn学习笔记
- 调用手机相册和照相机
- Longest Common Subsequence
- Java学习日记13:MyBatis
- 不只是切换多语言Android(一)
- js函数 作用域
- DecimalFormat在一道笔试题中的应用
- Mybatis通用Mapper
- Scrapy学习笔记VI--Item Loaders
- 调用手机相册和文档
- Nginx+Tomcat负载均衡配置