最长公共子序列

时间限制: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<string.h>int maxc[1002][1002];int main(){ char s1[1002],s2[1002]; int len1,len2,i,j,n; scanf("%d",&n); while(n--) {  memset(maxc,0,sizeof(maxc));  scanf("%s",s1);  scanf("%s",s2);  len1=strlen(s1);  len2=strlen(s2);  for(i=1;i<=len1;++i)  {   for(j=1;j<=len2;++j)   {    if(s1[i-1]==s2[j-1])     maxc[i][j]=maxc[i-1][j-1]+1;    else     maxc[i][j]=maxc[i][j-1]>maxc[i-1][j]?maxc[i][j-1]:maxc[i-1][j];   }  }  printf("%d\n",maxc[len1][len2]); } return 0;}

转载于:https://www.cnblogs.com/dongsheng/archive/2012/06/04/2534501.html

最长公共子序列 nyoj-36相关推荐

  1. NYOJ 36 最长公共子序列

    最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序列也称作最长 ...

  2. NYOJ 36 最长公共子序列 dp

    最长公共子序列 点击打开链接时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序 ...

  3. nyoj 36 最长公共子序列 dp问题最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共

    最长公共子序列 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序列也称 ...

  4. NYOJ最长公共子序列(dp)

    最长公共子序列 描述: 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common ...

  5. [csu/coj 1078]多个序列的最长公共子序列

    题意:给n个序列,同一个序列里面元素互不相同,求它们的最长公共子序列. 思路:任取一个序列,对于这个序列里面的两个数ai,aj(i<j),如果对于其它每一个序列,都出现过ai,aj,且ai在aj ...

  6. 最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离

    最大子序列 最大子序列是要找出由数组成的一维数组中和最大的连续子序列.比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,达到最大:而 {5,-6,4,2}的最大子序列是{4, ...

  7. 动态规划最常见的习题 (最长公共子串、最长公共子序列、最短编辑距离)

    (1)理论部分: (2)习题: 最长公共子串: 1 package month7.dp; 2 3 //https://www.nowcoder.com/questionTerminal/181a1a7 ...

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

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

  9. 单调递增最长子序列 - 从最长公共子序列到单调递增最长子序列

    最长公共子序列 的 算法思路 在这里 点击进入  将 代码稍微改动一下 就可以   ,   最长公共子序列  是两个 字符串求 公共子序列  , 可以将其中的 一个 改为 从 a 到 z  这样输入另 ...

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

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

最新文章

  1. 基于边缘的图像分割——分水岭算法(watershed)算法分析(附opencv源码分析)
  2. 【论文解读】FcaNet:频率通道注意力网络论文解读
  3. Python绘制PDF文件~超简单的小程序
  4. anroid 内存溢出 Bitmap OutOfMemoryError
  5. 实现Runnable 创建多线程的简单实现
  6. 胡斌、张礼礤会摧毁我们的信任
  7. 【BZOJ3997】组合数学,总之是DP就对了
  8. 安装jdk配置环境变量JAVA_HOME不起作用
  9. MySQL数据库(六)
  10. 输入法android版,享受流畅手机输入 百度手机输入法Android版试用
  11. 2022美赛M奖经验总结(4)图文优化篇
  12. 用户调研的操作步骤与过程模板
  13. (一)NIST CSF-框架介绍
  14. 倒计时1天,IMG、完美、腾讯技术大咖相聚直播间详解光线追踪技术
  15. linkedin python 领英技能 测评
  16. systemverilog随机函数
  17. git 出现 Author identity unknown 问题一
  18. Kafka提交offset机制
  19. Fabric0.6 与1.0
  20. Android sdk platform,sdk tools,sdk Build tools,sdk platform tools 的关系

热门文章

  1. 小白科普:虚拟化简史
  2. RESTful Web 服务 - 安全性
  3. 处理被中断的系统调用
  4. IDEA_Spring Data JPA有关报错Cannot resolve table 'XXX'
  5. python判断字符串中包含某个字符串_Python中最常用的字符串方法!
  6. python爬虫提取a标签_Python爬虫 Pyppeteer获取a标签的文本和链接
  7. ae万能弹性表达式_外置常用ae插件 快速掌握AE软件的精髓
  8. AGI:走向通用人工智能的【哲学】之现实世界的虚拟与真实——带你回看1998年的经典影片《The Truman Show》感悟“什么是真实”
  9. ML:MLOps系列讲解之《MLOps的State(工具和框架)》解读
  10. 成功解决_catboost.CatBoostError: Bad value for num_feature[non_default_doc_idx=0,feature_idx=0]=“FDO09“: