51nod1006---最长公共子序列Lcs(51nod基础:动态规划)
来源:互联网 发布:淘宝代收货是什么意思 编辑:程序博客网 时间:2024/06/14 19:23
【题目来源】:http://www.51nod.com
【题意】
求出两个字符串的最长公共子序列,并输出任意一个。
【思路】
lcs模板,但是这是我第一次遇见输出字符串的。。。
【代码】
//一路坚持下去。#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char string_one[1000+10];char string_two[1000+10];int dp[1000+10][1000+10];char string_lcs[1000+10];int main(){ scanf("%s",string_one); scanf("%s",string_two); int lenOne=strlen(string_one); int lenTwo=strlen(string_two); memset(dp,0,sizeof(dp)); for(int i=1;i<=lenTwo;i++) { for(int j=1;j<=lenOne;j++) { if(string_two[i-1]==string_one[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); } } int i=lenTwo,j=lenOne,lenLcs=0; while(dp[i][j]) { if(dp[i-1][j]==dp[i][j]) { i--; } else if(dp[i][j-1]==dp[i][j]) { j--; } else { string_lcs[lenLcs++]=string_two[i-1]; i--;j--; } } for(int i=lenLcs-1;i>=0;i--) printf("%c",string_lcs[i]); printf("\n");}
阅读全文
0 0
- 51nod1006---最长公共子序列Lcs(51nod基础:动态规划)
- 51nod1006 最长公共子序列Lcs
- 51nod1006 最长公共子序列Lcs
- 51nod1006最长公共子序列Lcs问题
- 51nod1006 最长公共子序列Lcs--打表+输出
- 51nod1006 最长公共子序列Lcs dp
- Nod-最长公共子序列Lcs(动态规划)
- 51nod--1006 最长公共子序列Lcs (动态规划)
- 51Nod- 1006 最长公共子序列Lcs(动态规划)
- 最长公共子序列LCS(动态规划基础)
- 【51Nod】1006 - 最长公共子序列Lcs(LCS)
- lcs最长公共子序列问题记录路径 动态规划dp 51nod教程
- 最长公共子序列Lcs 51Nod
- 最长公共子序列Lcs---51--Nod
- 51Nod 1006 最长公共子序列Lcs(dp)
- 最长公共子序列(Lcs)51NOD-1006
- 51Nod 1006 最长公共子序列Lcs(DP)
- 51nod动态规划入门--最长公共子序列
- JS中最经典的全局变量和局部变量问题
- 莫名的_locals属性
- Eclipse汉化后怎么转会英文
- 打算开始写一些博客,把以前的知识总结一下。
- WebGL之旅(十三)平行光和漫反射
- 51nod1006---最长公共子序列Lcs(51nod基础:动态规划)
- 进程上下文和中断上下文的含义
- eclipse空间打不开的问题
- Java 接口工厂模式
- Re:从零开始的领域驱动设计
- mongo 使用spring模板 笔记
- 北大方正魏新的最後謊言
- fork系统调用(图文版)
- 查看网页所有元素