Description

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

Input

第一行给出一个整数N(0<N<100)表示待测数据组数
接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.

Output

每组测试数据输出一个整数,表示最长公共子序列长度。每组结果占一行。

Sample Input
2
asdf
adfsd
123abc
abc123abc
Sample Output
3
6

题解:最长公共子序列

#include<stdio.h>
#include<math.h>
#include<string.h>
int max(int a,int b)
{if(a>b)return a;else return b;
}
int main()
{int t;char a[1000],b[1000];int c[1010][1010];scanf("%d",&t);while(t--){scanf("%s%s",&a,&b);memset(c,0,sizeof(c));for(int i=1;i<=strlen(a);i++){for(int j=1;j<=strlen(b);j++)if(a[i-1]==b[j-1])c[i][j]=c[i-1][j-1]+1;else c[i][j]=max(c[i][j-1],c[i-1][j]);}printf("%d\n",c[strlen(a)][strlen(b)]);}return 0;
}

动态规划——最长公共子序列相关推荐

  1. 动态规划—最长公共子序列问题 HDU-1159 Common Subsequence

    动态规划-最长公共子序列问题 Common Subsequence [ HDU - 1159 ] A subsequence of a given sequence is the given sequ ...

  2. 详解动态规划最长公共子序列--JavaScript实现

    前面两篇我们讲解了01背包问题和最少硬币找零问题.这篇将介绍另一个经典的动态规划问题--最长公共子序列.如果没看过前两篇,可点击下面链接. 详解动态规划最少硬币找零问题--JavaScript实现 详 ...

  3. 动态规划1--最长公共子序列

    动态规划1--最长公共子序列 一.动态规划 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题.简单地采用把大问题分解成子问题,并 综合子问题的解导出大问题的解的方法,问题求解耗时 ...

  4. 最长公共子序列php,动态规划(最长公共子序列LCS)

    概念 求解决策过程最优化的结果 (可能有多个) 把多阶段过程转化为一系列单阶段过程,利用各阶段之间的关系,逐个求解 计算过程中会把结果都记录下,最终结果在记录中找到. 举例 求两个字符串的最长公共子序 ...

  5. 最长公共子序列动态规划c语言,动态规划----最长公共子序列(C++实现)

    最长公共子序列 题目描述:给定两个字符串s1 s2 - sn和t1 t2 - tm .求出这两个字符串的最长公共子序列的长度.字符串s1 s2 - sn的子序列指可以表示为 - { i1 < i ...

  6. 动态规划--最长公共子序列

    1. 子序列 摘自维基百科 在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置而形成的新序列. 例如: 令 为一序列 那么,以下序列 是 的子序列之一.对应定义里的自然数 ...

  7. 动态规划——最长公共子序列(LCS)

    最长公共子序列的问题描述为: 下面介绍动态规划的做法. 令 dp[i][j] 表示字符串 A 的 i 号位与字符串 B 的 j 号位之前的 LCS 长度(下标从 1 开始),如 dp[4][5] 表示 ...

  8. 算法导论之动态规划(最长公共子序列和最优二叉查找树)

    动态规划师通过组合子问题的解而解决整个问题,将问题划分成子问题,递归地求解各子问题,然后合并子问题的解而得到原问题的解.和分治算法思想一致,不同的是分治算法适合独立的子问题,而对于非独立的子问题,即各 ...

  9. 动态规划—最长公共子序列

    问题描述:给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度.比如:text1 = "abcde", text2 = "ace" ...

  10. 【啃不完的算法导论】- 动态规划 - 最长公共子序列(概念篇)

    以下内容纯是为了熟悉<算法导论>中的内容,高手可略过,其中涉及的书本内容的版权归原作者.译者.出版社所有 ========================================= ...

最新文章

  1. 2022-2028年中国玻璃纤维毡热塑性塑料(GMT)行业市场研究及前瞻分析报告
  2. go 打印json 转义_Go 项目开发中 10 个最常见的错误
  3. 【工作感悟】——聊聊面试那些事
  4. 对linux内核学习的一点感受,对linux内核学习的一点感受
  5. 浏览器窗口的高度和宽度
  6. 畅享网助力打造IT界的文化人
  7. Python操作mySql数据库封装类
  8. 钱少事多,开源项目维护人员几乎集体出走
  9. python录制生成自动化脚本_懒人做自动化测试之二--自动化脚本录制
  10. TCP三次握手四次挥手介绍
  11. java fso_asp之FSO大全
  12. win11快捷键常用表 最全面的win11快捷键使用指南
  13. android 车牌字符分割,车牌识别 之 字符分割
  14. 稳定性测试怎么测_药物稳定性试验的细枝末节该如何处理?
  15. 独立思考者的思考模型
  16. 数据交换技术(*):电路交换,报文交换,分组交换的概念,特点和优缺点以及存储转发技术概念
  17. 串口通信(SBUF代码原理详解)
  18. beforeRouteEnter中的this和与created的执行顺序
  19. 编写函数把华氏温度转换为摄氏温度
  20. JDBC连接oracle数据库进行增,删,改,查

热门文章

  1. 可视化数据展示工具ChatSQL
  2. 题目4:EXCEL排序
  3. windwos开机自启动脚本
  4. 手写一款符合Promise/A+规范的Promise
  5. c# https请求
  6. ibatis返回结果映射到HashMap时,列名无效的问题
  7. int与string互转
  8. noip2010乌龟棋解题报告
  9. 数据结构复习之【线性表】
  10. 恋上数据结构完整笔记(第1季 + 第2季)