[51nod]1006 最长公共子序列Lcs
来源:互联网 发布:淘宝淘口令在哪里输入 编辑:程序博客网 时间:2024/05/21 17:47
题目链接点这里
求两字符序列的最长公共字符子序列
做完dp后,倒推输出
图片转自http://blog.csdn.net/yysdsyl/article/details/4226630/
代码:
#include<cstring>#include<cstdio>#include<cmath>#include<iostream>#include<algorithm>using namespace std;char a[1010],b[1010];int f[1010][1010];string s;int main(){ scanf("%s",a+1); scanf("%s",b+1); int n=strlen(a+1); int m=strlen(b+1); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(a[i]==b[j]) f[i][j]=f[i-1][j-1]+1; else f[i][j]=max(f[i-1][j],f[i][j-1]); } int i=n,j=m; while(i && j) { if(a[i]==b[j]) { s+=a[i]; i--; j--; } else if(f[i][j]==f[i-1][j]) i--; else j--; } int len=s.length(); for(int i=len-1;i>=0;i--) printf("%c",s[i]);}
0 0
- 【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
- 最长公共子序列(Lcs)51NOD-1006
- const* 与*const
- c#中Mschart的series中的label的值
- 垃圾收集器与内存分配
- 我的目标
- 分布式理论之一:Paxos算法的通俗理解
- [51nod]1006 最长公共子序列Lcs
- jquery图表插件highcharts使用
- Android开发艺术探索笔记_第二章 IPC机制
- Windows系统配置技巧
- 12个小技巧让你在小组讨论时游刃有余(上)
- VirtualBox安装centos详解
- Android Studio 完美修改应用包名
- Effective Java(静态工厂与构造器一)
- Spring整合Hibernate之AnnotationSessionFactoryBean与LocalSessionFactoryBean