Codeup最长公共子序列(LCS):最长公共子序列
问题 A: 最长公共子序列
时间限制: 1 Sec 内存限制: 32 MB
提交: 520 解决: 288
[提交][状态][讨论版][命题人:外部导入]
题目描述
给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列。
例如:Z=<a,b,f,c>是序列X=<a,b,c,f,b,c>的一个子序列,Z中的元素在X中的下标序列为<1,2,4,6>。
现给你两个序列X和Y,请问它们的最长公共子序列的长度是多少?
输入
输入包含多组测试数据。每组输入占一行,为两个字符串,由若干个空格分隔。每个字符串的长度不超过100。
输出
对于每组输入,输出两个字符串的最长公共子序列的长度。
样例输入
abcfbc abfcab programming contest abcd mnp
样例输出
4 2 0
#include<bits/stdc++.h>
using namespace std;
const int maxn=101;
char a[maxn],b[maxn];
int dp[maxn][maxn];
int main(){while(cin>>a+1){cin>>b+1;int lena=strlen(a+1);int lenb=strlen(b+1);//边界for(int i=0;i<=lena;i++){dp[i][0]=0;} for(int j=0;j<=lenb;j++){dp[0][j]=0;}//状态转移方程for(int i=1;i<=lena;i++){for(int j=1;j<=lenb;j++){if(a[i]==b[j]){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[lena][lenb]);}return 0;}
Codeup最长公共子序列(LCS):最长公共子序列相关推荐
- 最长上升子序列、最长公共子序列、最长公共上升子序列(LIS、LCS、LCIS)
LIS.LCS.LCIS 最长上升子序列LIS 最长公共子序列LCS 最长公共上升子序列LCIS 最长上升子序列LIS 题目链接:AcWing895. 最长上升子序列 这里只说明 O ( n 2 ) ...
- LCS最长公共子序列和LIS最长上升子序列——例题剖析
一.LCS最长公共子序列 最长公共子序列(LCS)问题算法详解+例题(转换成LIS,优化为O(nlogn),看不懂你来打我) longest comment subsequence 模板题 longe ...
- 动态规划算法解最长公共子序列LCS问题
动态规划算法解LCS问题 作者 July 二零一零年十二月三十一日 本文参考:微软面试100题系列V0.1版第19.56题.算法导论.维基百科. 第一部分.什么是动态规划算法 ok,咱们先来了解下什么 ...
- 最长公共子序列LCS[C++题解]
文章目录 状态表示 状态转移 题目大意: 两个字符串a和b,需要统计出其中公共子序列的最长是多少. 注意:所谓子序列,指的是出现的先后顺序一样,但可以不连续出现.比如对于s=abdef,其中adf是s ...
- 编辑距离:最长公共子序列-LCS问题
一.基本概念 LCS是最长公共子序列(Longest common subsequence problem)的缩写.LCS问题是在一组序列(通常只有两个序列)中找到所有序列共有的最长子序列的问题.它与 ...
- Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...
- 动态规划之最长公共子序列(LCS)
最长公共子序列(LCS,Longest Common Subsequence).其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最 ...
- 程序员编程艺术第十一章:最长公共子序列(LCS)问题
程序员编程艺术第十一章:最长公共子序列(LCS)问题 0.前言 程序员编程艺术系列重新开始创作了(前十章,请参考程序员编程艺术第一~十章集锦与总结).回顾之前的前十章,有些代码是值得商榷的,因当时的代 ...
- 【51NOD】1006 最长公共子序列Lcs(动态规划)
给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdkscab ab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最 ...
- 算法之最长公共子序列(LCS)问题
算法课上老师留的作业,最长公共子序列LCS(Longest Common Subsequence)问题,首先看到这个问题感觉有点复杂,和最长公共子串不同,公共子序列并不要求元素相邻,看起来只有穷举才能 ...
最新文章
- 工程师必读 微软如何部署Exchange2010
- php mysql简单链接_php mysql 数据库链接简单例子
- 再见,2014;您好,2015!
- 天勤数据结构:前缀、中缀、后缀表达式的转换与计算
- C++ 预编译头文件
- zynq中mgtx应用_Zynq7000系列之芯片引脚功能综述
- HDU 3487 Play with Chain(Splay)
- jquery --- Poshy Tip jQuery Plugin
- 12015.linux通过代码或命令形式操作内存/dev/mem
- [Java] 蓝桥杯ALGO-148 算法训练 5-1最小公倍数
- centos 7 安装ntp服务器
- hdu 5402 Travelling Salesman Problem (技巧,未写完)
- 使用getopt函数对命令行短形参进行处理
- MOOC 浙江大学C语言翁恺(第一、二章 满分答案)
- Web前端——什么是web前端,什么是HTML及其常用标签
- itoa函数和atoi函数的实现和用法
- 每日新闻:AI落地元年来了;中兴通讯5G最新播报;李彦宏对未来20年的手机发展这样看;恒大健康与FF宣布和解...
- 百度下拉词用python怎么抓取
- 前端面试题库 面试题 JS难题,做对一半就是高手
- STM32单片机智能鱼缸温度水位控制系统自动加热加水抽水