51nod 1006 最长公共子序列Lcs
来源:互联网 发布:淘宝代销怎么终止合同 编辑:程序博客网 时间:2024/06/01 20:07
题目链接:
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1006
题解:
重新刷一下51,发现自己连这基础题都打了半天,唉,不行了。
代码:
#include <set>#include <map>#include <cmath>#include <string>#include <vector>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define met(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3fconst int maxn = 1000+10;int dp[maxn][maxn];char s1[maxn],s2[maxn];char ss[maxn];int main(){ scanf("%s%s",s1+1,s2+1); met(dp,0); int i,j; for(i=1;s1[i];i++) { for(j=1;s2[j];j++) dp[i][j]=max(dp[i-1][j-1]+(s1[i]==s2[j]?1:0),max(dp[i][j-1],dp[i-1][j])); } i--,j--; int m=dp[i][j]; while(i>=1&&j>=1&&m) { if(s1[i]==s2[j]) { ss[m--]=s1[i]; i--,j--; } else if(dp[i-1][j]>dp[i][j-1]) i--; else j--; } printf("%s\n",ss+1);}
阅读全文
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
- 使用QT和opencv3.3进行目标检测(YOLO)
- 集合覆盖问题、最大覆盖问题、呼叫中心排班问题闲谈
- JVM并不是那么重量级
- String.Format()方法
- DB2在dbvisualizer 客户端执行begin end 语句块的案例,亲测可用
- 51nod 1006 最长公共子序列Lcs
- 子类与继承:实验1
- 图像基础20 人脸辨识——人脸识别2
- 7-13 家庭房产(25 分)
- 电路实践
- 讲给Android程序员看的前端教程(32)——继承
- 模拟实现库函数
- Python模块一
- 数据结构之--队列(Java代码)