博客:
 https://www.cnblogs.com/sasuke-/p/5396843.html

模板

#include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 1010
using namespace std;
int c[MAXN][MAXN];//保存各个公共子序列的长度
int b[MAXN][MAXN];//记录来源
char s1[MAXN], s2[MAXN];
int len1, len2;
void LCSL()
{
 for (int i = 1; i <= len1; ++i)//控制s1序列
 {
  for (int j = 1; j <= len2; ++j)//控制s2
  {
   if (s1[i - 1] == s2[j - 1])
   {//如果字符相同最长公共子序列+1
    c[i][j] = c[i - 1][j - 1] + 1;
    b[i][j] = 1;  //表示来源自斜对角
   }
   else
   {
    if (c[i][j - 1] >= c[i - 1][j])
    {
     c[i][j] = c[i][j - 1];//继承最相邻原有的最大长度
     b[i][j] = 2;//记录来源自左边
    }
    else
    {
     c[i][j] = c[i - 1][j];
     b[i][j] = 3;
    }
   }
  }
 }
}
void print(int i, int j)
{
 if (i == 0 || j == 0)return;
 if (b[i][j] == 1)
 {
  print(i - 1, j - 1);
  cout << s1[i - 1];
 }
 else if (b[i][j]==2)
 {
  print(i, j - 1);
 }
 else
 {
  print(i - 1, j);
 }
}
int main()
{
 cout << "输入s1:" << endl;
 cin >> s1;
 cout << "输入s2:" << endl;
 cin >> s2;
 len1 = strlen(s1);
 len2 = strlen(s2);
 LCSL();
 cout << "s1与s2的最长公共子序列为" << c[len1][len2] << endl;
 print(len1, len2);
 printf("\n");
}

转载于:https://www.cnblogs.com/ALINGMAOMAO/p/9439715.html

最长公共子序列(模板 LCSL)相关推荐

  1. 最长公共子序列模板(LCS)和LICS模板

    递归式: 实例图解: 代码: 1 #include<stdio.h> 2 #include<string.h> 3 const int N=111; 4 int dp[N][N ...

  2. c语言最长公共子序列,算法设计与分析/动态规划——最长公共子序列LCS及模板...

    这位大佬写的对理解DP也很有帮助,我就直接摘抄过来了,代码部分来自我做过的题 一,问题描述 给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence).比如字符 ...

  3. DP专辑之最长公共子序列及其变形

    vijos1111(裸的最长公共子序列) 链接:www.vijos.org/p/1111 题解:好久没有写最长公共子序列了,这题就当是复习了.求出最长公共子序列,然后用两个单词的总长度减去最长公共子序 ...

  4. 动态规划求解LCS最长公共子序列问题c++

    文章目录 求最长公共子序列 最长公共子序列问题 刻画最长公共子序列的特征 递归公式 C++代码 求最长公共子序列长度 打印任意一组最长公共子序列 模板题 求最长公共子序列 最长公共子序列问题 (Lon ...

  5. 模板 - 最长上升子序列与最长公共子序列

    整理的算法模板合集: ACM模板 目录 1.最长上升子序列(LIS) 1.1树状数组优化O(nlogn)O(nlogn)O(nlogn) 2.最长公共子序列(LCS) 2.1转换成LIS优化O(nlo ...

  6. 最长公共子序列求序列模板提_最长公共子序列

    最长公共子序列求序列模板提 Description: 描述: This question has been featured in interview rounds of Amazon, MakeMy ...

  7. 最长公共子序列 LCS(模板) poj 1458

    一.标准模板 #include <iostream> #include <stdio.h> #include <cstring> #include <vect ...

  8. 最长公共子序列 (LCS) 详解+例题模板(全)

    欢迎访问https://blog.csdn.net/lxt_Lucia-- 宇宙第一小仙女\(^o^)/-萌量爆表求带飞=≡Σ((( つ^o^)つ~ dalao们点个关注呗- ------------ ...

  9. 51NOD 1006 最长公共子序列 Lcs 动态规划 DP 模板题 板子

    给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdkscab ab是两个串的子序列,abc也是,abca也是,其中abca是这两个字符串最 ...

最新文章

  1. 微服务已过时!DDD领域建模与架构设计才是未来!
  2. SCCM 2012系列之新特性概览一:SCCM 2012安装选项和控制台新界面预览
  3. Antd组件中单选框、复选框自定义样式的优雅实现
  4. Vue.js 动态组件 异步组件
  5. 2020 6-7月 每日花语
  6. SpringBoot+ElementUI实现多选设置一月中指定几天的属性,SpringBoot中通过反射实现
  7. 砸4亿美元,GE豪赌的全球最大风力发电机到底多大?
  8. Android 中英文语言切换
  9. Node.js 应用故障排查手册 —— 大纲与常规问题指标简介
  10. python怎么改变字体大小_python IDLE 背景以及字体大小的修改方法
  11. 406.根据身高重建队列
  12. 开源免费录屏软件整理
  13. 实力验证:金蝶EAS 8.2授权注册 (包含Apusic 9999连接数破解)
  14. GPS经纬度坐标与XY坐标相互转换的python程序
  15. matlab求解rl电路,matlab课程设计--RC串联电路与RL并联电路频率响应
  16. 爱心动画c语言,jquery+html5烂漫爱心表白动画代码分享
  17. 微信小程序: 开发文档
  18. 《剑指 Offer》题目汇总
  19. 《算法笔记》第四章笔记
  20. 在 Mac 上将 PDF 转换为 Word 的 5 种简单方法

热门文章

  1. BZOJ 1004: [HNOI2008]Cards [Polya 生成函数DP]
  2. flask-uploads扩展的使用笔记
  3. 算法—二叉查找树的相关一些操作及总结
  4. Set Matrix Zeros
  5. COM 学习(五)——编译、注册、调用
  6. nodejs express使用HTML模板
  7. POST请求传递参数(十一)
  8. 利用国内镜像加快pip下载速度和成功率
  9. 咸菜可以吃吗,对健康有害吗?
  10. 博士和博士后的有什么区别?