公共子序列(信息学奥赛一本通-T1297)
【题目描述】
我们称序列Z=<z1,z2,...,zk>是序列X=<x1,x2,...,xm>的子序列当且仅当存在严格上升的序列<i1,i2,...,ik>,使得对j=1,2,...,k,有xij=zj。比如Z=<a,b,f,c> 是X=<a,b,c,f,b,c>的子序列。
现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。
【输入】
输入包括多组测试数据。每组数据包括一行,给出两个长度不超过200的字符串,表示两个序列。两个字符串之间由若干个空格隔开。
【输出】
对每组输入数据,输出一行,给出两个序列的最大公共子序列的长度。
【输入样例】
abcfbc abfcab
programming contest
abcd mnp【输出样例】
4
2
0
【源程序】
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 501
#define MOD 2520
#define E 1e-12
using namespace std;
char a[N],b[N];
int f[N][N];
int main()
{while(scanf("%s%s",a+1,b+1)!=EOF){int len_a=strlen(a+1);int len_b=strlen(b+1);for(int i=1;i<=len_a;i++)f[i][0]=0;for(int j=1;j<=len_b;j++)f[0][j]=0;for(int i=1;i<=len_a;i++)for(int j=1;j<=len_b;j++){if(a[i]==b[j])f[i][j]=f[i-1][j-1]+1;elsef[i][j]=max(f[i-1][j],f[i][j-1]);}cout<<f[len_a][len_b]<<endl;}return 0;
}
公共子序列(信息学奥赛一本通-T1297)相关推荐
- 信息学奥赛一本通(1281:最长上升子序列)
1281:最长上升子序列 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 15871 通过数: 8180 [题目描述] 一个数的序列bibi,当b1< ...
- 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离
首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...
- 信息学奥赛一本通(C++版) 刷题 记录
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...
- 信息学奥赛一本通T1451:棋盘游戏
信息学奥赛一本通T1451:棋盘游戏 [题目描述] 在一个 4×4 的棋盘上有 8 个黑棋和 8 个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的.移动棋子的规则是交换相邻两个棋子. 给出一 ...
- 《信息学奥赛一本通 提高篇》 第四部分 数据结构 第4章 倍增求LCA
例题1 点的距离 信息学奥赛一本通(C++版)在线评测系统 例题2 暗的连锁(Poj3417) 信息学奥赛一本通(C++版)在线评测系统 LOj10131 暗的连锁_juruo_xlh-CSDN博客 ...
- 信息学奥赛一本通 1263:【例9.7】友好城市
[题目链接] ybt 1263:[例9.7]友好城市 [题目考点] 1. 动态规划:线性动规 2. 排序 [解题思路] 该题可以抽象为两条平行线上各有若干点,给定一些两条线上点之间的连线,在选出连线不 ...
最新文章
- CentOS 6.6编译安装Squid 配置反向代理服务器
- 教你搞定Android自定义View
- IOS开发之自定义Button(集成三种回调模式)
- bar图设置距离 python_python画图设置坐标轴的位置及角度及设置colorbar
- ubuntu 如何转换 ppk ,连接 amazon ec2
- MySql 踩坑小记 1
- 荣耀鸿蒙系统开机动画,荣耀赵明:鸿蒙系统首发设备欲屏蔽开机广告
- bzoj千题计划287:bzoj1228: [SDOI2009]ED
- pos机改造迷你打印机_小票打印机如何自动弹出钱箱
- Hessian Matrix
- obs计算机丢失,安装obs时提醒没法启动此程序,因为计算机丢失
- 09、win32 转换为 store app
- Centos Linux 下Pycharm 安装
- 第三章CDMA的原理和应用(1)
- 软件开发模型-螺旋模型
- 【JAVA】数据结构——二叉树的学习
- 国内外优秀公共DNS测评及推荐
- 未来智能营销时代到来,人工智能营销系统方兴未艾
- w7文件加密提示没启用服务器,win7文件夹设置密码没有密钥提示该怎么解决
- 为什么说阿里云和亚马逊云对比,阿里云的性价比比较低?