最长公共子序列 【DP】+【最长公共子序列】
最长公共子序列
- 描述
-
咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。
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】+【最长公共子序列】相关推荐
- Bailian2806 公共子序列【最长公共子序列+DP】
2806:公共子序列 描述 我们称序列Z = < z1, z2, -, zk >是序列X = < x1, x2, -, xm >的子序列当且仅当存在 严格上升 的序列< ...
- 【动态规划】最长公共子序列与最长公共子串
1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...
- 动态规划套路在最长公共子串、最长公共子序列和01背包问题中的应用
2019独角兽企业重金招聘Python工程师标准>>> 适合动态规划(DP,dynamic programming)方法的最优化问题有两个要素:最优子结构和重叠子问题. 最优子结构指 ...
- 两个字符串的最长公共子序列长度_【面试】动态规划-之最长公共子序列、最长公共子串问题...
先来说明下什么是最长公共子序列,什么是是最长公共子串,举一个实际例子,myblogs与belong,最长公共子序列为blog(myblogs, belong),最长公共子串为lo(myblogs, b ...
- 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...
最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和 文章作者:Yx.Ac 文章来源:勇幸|Thinking (http://www.ahathi ...
- 【恋上数据结构】动态规划(找零钱、最大连续子序列和、最长上升子序列、最长公共子序列、最长公共子串、0-1背包)
动态规划(Dynamic Programming) 练习1:找零钱 找零钱 - 暴力递归 找零钱 - 记忆化搜索 找零钱 - 递推 思考题:输出找零钱的具体方案(具体是用了哪些面值的硬币) 找零钱 - ...
- 算法设计 - LCS 最长公共子序列最长公共子串 LIS 最长递增子序列
出处 http://segmentfault.com/blog/exploring/ 本章讲解: 1. LCS(最长公共子序列)O(n^2)的时间复杂度,O(n^2)的空间复杂度: 2. 与之类似但不 ...
- 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串 (转)...
作者:寒小阳 时间:2013年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/11969497. 声明:版权所有,转载请注明出处,谢谢 ...
- 一分钟搞定最长公共子序列与最长公共子串的问题
感谢大家的理解与指正!觉的写的不错的小伙伴儿,一键三连支持一下,后期会有持续更新!!抱拳了罒ω罒 最长公共子序列和最长公共子串都是动态规划的经典题型,最长公共子序列要求的是不一定连续,最长公共子串 ...
- 助你深刻理解——最长公共子串、最长公共子序列(应该是全网数一数二的比较全面的总结了)
往事不堪回首,那些年处理过的字符串[的一些骚操作] 最长公共子串篇(20191120) 理论知识: 图形理解: 矩阵初始化: 矩阵数值演变: 类似算法: 代码实现(C++): 代码设计满足的要求: 测 ...
最新文章
- 【yolov4目标检测】(4) opencv+yolov4-tiny 实现选择性目标检测,附python完整代码
- html met详解转
- 软件开发是一门手艺活
- Jsp实现在线影院售票系统
- 浅谈script标签中的async和defer
- 昂靠的由来[本博作者爆料]
- mega x_[MEGA DEAL]通过Hadoop Bundle掌握大数据(91%的折扣)
- Linux 文件系统 软/硬链接文件
- Android OpenGL ES(六)创建实例应用OpenGLDemos程序框架 .
- 图像处理之局部二值特征
- 代号红狗:那些站在微软云起点的中国创业者
- Trying other mirror问题
- 开发随笔——花生壳错误“您的局域网服务器连接失败,请检查局域网IP与端口“
- 如何看待数字藏品越来越火
- python运算符计算集合并集_Python集合、集合的运算、集合方法详细讲解
- 2021年深圳市专精特新中小企业遴选申报指南
- MySQL数据库查看时区
- 斜率优化dp 的简单入门
- vw 前端_Vw / Vh 更好的做前端适配
- 龙王传说古月_龙王传说:古月罕见表现脆弱一面,惹人怜爱。老巫婆蔡老终于出场...
热门文章
- 合成大西瓜(西瓜雨版)及改版思路(保姆式教程)
- 用python画函数图像
- 关于context:property-placeholder的一个有趣现象
- 为什么有时优盘是只读模式_u盘怎么解除只读模式
- 韩国的计算机sci,JOURNAL OF KOREAN MEDICAL SCIENCE《韩国医学科学杂志》SCI论文投稿_SCI期刊大全_SCI期刊点评_万维书刊网...
- c++ sprintf
- Linux下载tomcat压缩包
- 用selenium全自动化爬取教务系统作业清单
- 通过神经网络实现线性回归模型预测水泥强度
- js如何将字符串转化为大写