最长公共子序列

时间限制: 3000 ms  |            内存限制: 65535 KB
难度: 3
描述
咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。
tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。

输入
第一行给出一个整数N(0<N<100)表示待测数据组数
接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.
输出
每组测试数据输出一个整数,表示最长公共子序列长度。每组结果占一行。
样例输入
2
asdf
adfsd
123abc
abc123abc
样例输出
3
6
思路: 模板题目
代码
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<stack>
#define inf 0x3f3f3f
#define M  1000+10
using namespace std;
int dp[M][M];
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        char s[M],ss[M];
        scanf("%s%s",s,ss);
        int l=strlen(s);
        int ll=strlen(ss);
        for(int i=0;i<=l;i++)
        dp[i][0]=0;

        for(int j=0;j<=ll;j++)
        dp[0][j]=0;

        for(int i=1;i<=l;i++)
        for(int j=1;j<=ll;j++)
        {
         if(s[i-1]==ss[j-1])  dp[i][j]=dp[i-1][j-1]+1;
         else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
        }
        printf("%d\n",dp[l][ll]);
    }
return 0;
}

最长公共子序列 【DP】+【最长公共子序列】相关推荐

  1. Bailian2806 公共子序列【最长公共子序列+DP】

    2806:公共子序列 描述 我们称序列Z = < z1, z2, -, zk >是序列X = < x1, x2, -, xm >的子序列当且仅当存在 严格上升 的序列< ...

  2. 【动态规划】最长公共子序列与最长公共子串

    1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...

  3. 动态规划套路在最长公共子串、最长公共子序列和01背包问题中的应用

    2019独角兽企业重金招聘Python工程师标准>>> 适合动态规划(DP,dynamic programming)方法的最优化问题有两个要素:最优子结构和重叠子问题. 最优子结构指 ...

  4. 两个字符串的最长公共子序列长度_【面试】动态规划-之最长公共子序列、最长公共子串问题...

    先来说明下什么是最长公共子序列,什么是是最长公共子串,举一个实际例子,myblogs与belong,最长公共子序列为blog(myblogs, belong),最长公共子串为lo(myblogs, b ...

  5. 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...

    最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和 文章作者:Yx.Ac   文章来源:勇幸|Thinking (http://www.ahathi ...

  6. 【恋上数据结构】动态规划(找零钱、最大连续子序列和、最长上升子序列、最长公共子序列、最长公共子串、0-1背包)

    动态规划(Dynamic Programming) 练习1:找零钱 找零钱 - 暴力递归 找零钱 - 记忆化搜索 找零钱 - 递推 思考题:输出找零钱的具体方案(具体是用了哪些面值的硬币) 找零钱 - ...

  7. 算法设计 - LCS 最长公共子序列最长公共子串 LIS 最长递增子序列

    出处 http://segmentfault.com/blog/exploring/ 本章讲解: 1. LCS(最长公共子序列)O(n^2)的时间复杂度,O(n^2)的空间复杂度: 2. 与之类似但不 ...

  8. 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串 (转)...

    作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/11969497. 声明:版权所有,转载请注明出处,谢谢 ...

  9. 一分钟搞定最长公共子序列与最长公共子串的问题

    感谢大家的理解与指正!觉的写的不错的小伙伴儿,一键三连支持一下,后期会有持续更新!!抱拳了罒ω罒   最长公共子序列和最长公共子串都是动态规划的经典题型,最长公共子序列要求的是不一定连续,最长公共子串 ...

  10. 助你深刻理解——最长公共子串、最长公共子序列(应该是全网数一数二的比较全面的总结了)

    往事不堪回首,那些年处理过的字符串[的一些骚操作] 最长公共子串篇(20191120) 理论知识: 图形理解: 矩阵初始化: 矩阵数值演变: 类似算法: 代码实现(C++): 代码设计满足的要求: 测 ...

最新文章

  1. 【yolov4目标检测】(4) opencv+yolov4-tiny 实现选择性目标检测,附python完整代码
  2. html met详解转
  3. 软件开发是一门手艺活
  4. Jsp实现在线影院售票系统
  5. 浅谈script标签中的async和defer
  6. 昂靠的由来[本博作者爆料]
  7. mega x_[MEGA DEAL]通过Hadoop Bundle掌握大数据(91%的折扣)
  8. Linux 文件系统 软/硬链接文件
  9. Android OpenGL ES(六)创建实例应用OpenGLDemos程序框架 .
  10. 图像处理之局部二值特征
  11. 代号红狗:那些站在微软云起点的中国创业者
  12. Trying other mirror问题
  13. 开发随笔——花生壳错误“您的局域网服务器连接失败,请检查局域网IP与端口“
  14. 如何看待数字藏品越来越火
  15. python运算符计算集合并集_Python集合、集合的运算、集合方法详细讲解
  16. 2021年深圳市专精特新中小企业遴选申报指南
  17. MySQL数据库查看时区
  18. 斜率优化dp 的简单入门
  19. vw 前端_Vw / Vh 更好的做前端适配
  20. 龙王传说古月_龙王传说:古月罕见表现脆弱一面,惹人怜爱。老巫婆蔡老终于出场...

热门文章

  1. 合成大西瓜(西瓜雨版)及改版思路(保姆式教程)
  2. 用python画函数图像
  3. 关于context:property-placeholder的一个有趣现象
  4. 为什么有时优盘是只读模式_u盘怎么解除只读模式
  5. 韩国的计算机sci,JOURNAL OF KOREAN MEDICAL SCIENCE《韩国医学科学杂志》SCI论文投稿_SCI期刊大全_SCI期刊点评_万维书刊网...
  6. c++ sprintf
  7. Linux下载tomcat压缩包
  8. 用selenium全自动化爬取教务系统作业清单
  9. 通过神经网络实现线性回归模型预测水泥强度
  10. js如何将字符串转化为大写