51Nod 1006 最长公共子序列Lcs (输出)
来源:互联网 发布:java jdk 32位 编辑:程序博客网 时间:2024/06/05 17:40
1006最长公共子序列Lcs
基准时间限制:1 秒 空间限制:131072 KB 分值:0难度:基础题
收藏
关注
取消关注
给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的)。
比如两个串为:
abcicba
abdkscab
ab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最长的子序列。
Input
第1行:字符串A第2行:字符串B(A,B的长度 <= 1000)
Output
输出最长的子序列,如果有多个,随意输出1个。
Input示例
abcicbaabdkscab
Output示例
abca
大牛博客:http://blog.csdn.net/u013074465/article/details/45392687
老生常谈的问题
#include<iostream>#include<algorithm>#include<map>#include<cstring>#include<vector>#include<cmath>#include<cstdio>using namespace std;int main(){char a[1001],b[1001];gets(a),gets(b);int n=strlen(a),m=strlen(b);static int f[1001][1001]={0};int maxn=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i-1]==b[j-1]){f[i][j]=f[i-1][j-1]+1;}else f[i][j]=max(f[i-1][j],f[i][j-1]);}} char out[1001];int cnt=0;for(int i=n,j=m;i>=1&&j>=1;){if(a[i-1]==b[j-1]){out[cnt++]=a[i-1];i--,j--;}else{if(f[i][j-1]>f[i-1][j]){j--;}else i--;}}for(cnt--;cnt>=0;cnt--){cout<<out[cnt];}return 0;}
阅读全文
1 0
- 51Nod 1006 最长公共子序列Lcs (输出)
- 【51Nod】1006 - 最长公共子序列Lcs(LCS)
- 51nod 1006 最长公共子序列Lcs【LCS】
- lcs 51nod 1006 最长公共子序列Lcs
- 最长公共子序列Lcs 51Nod
- 最长公共子序列Lcs---51--Nod
- 51nod 1006 1006 最长公共子序列Lcs
- 51nod 1006:最长公共子序列Lcs
- 51Nod 1006 最长公共子序列Lcs(dp)
- 51Nod-1006-最长公共子序列Lcs
- [51nod]1006 最长公共子序列Lcs
- 51Nod 1006 最长公共子序列LCS DP水题
- 51Nod 1006 - 最长公共子序列(Lcs)
- 51nod 1006 最长公共子序列Lcs
- 51nod 1006 最长公共子序列Lcs
- 51Nod 1006 最长公共子序列Lcs
- 【51nod】1006 最长公共子序列Lcs
- 51Nod---1006-最长公共子序列Lcs
- JieCaoVideoPlayer
- 习题5-4 交换学生(Foreign Exchange, UVa 10763)
- websphere缓存
- [Torch7]的安装
- C#+VS2012图片二进制流与数据库MySql、水晶报表间的操作(一)
- 51Nod 1006 最长公共子序列Lcs (输出)
- 【洛谷1967】【NOIP2013】货车运输
- 9.1 联合作战战果
- 湖南省第十一届大学生计算机程序设计竞赛 阶乘除法
- Android流行UI布局——底部导航(BottomNavigationView+ViewPager+Fragment)
- JasperException异常
- Mybatis的oracle的经典SQL语句(分页-新增的id自增-批量新增-动态修改-union all)
- PAT 乙级 2023
- Android进度条ProgressBar颜色的渐变设置