分析

  1. 最长公共子序列的模板题,参考视频:最长公共子序列 - 动态规划;
  2. 如果第一个序列的第i个字符,与第二个序列的第j个字符相等时,则i,j这个点的dp值为左上角的dp值+1;否则为,该点上面那个点和左面那个点其中的最大值。由于i,j从1开始遍历的,所以在比较字符的时候,要注意为-1;
    状态转移方程:if a[i-1]==b[j-1]:dp[i][j]=dp[i-1][j-1]+1
    else:dp[i][j]=max(dp[i-1][j],dp[i][j-1])
  3. 要明白子序列和子串的区别:子串中字符的位置必须是连续的,子序列则可以不必连续。
  4. 由于此题的数据范围比较小,n方的复杂度可以过,但是遇到数据量比较大的时候,时间和空间复杂度都不符合要求,这个等下期更新优化的解法;
#include "bits/stdc++.h"
using namespace std;int dp[1010][1010];int main() {string a, b;cin >> a >> b;for (int i = 1; i <= a.size(); ++i) {for (int j = 1; j <= b.size(); ++j) {if (a[i - 1] == b[j - 1])dp[i][j] = dp[i - 1][j - 1] + 1;elsedp[i][j] = max(dp[i][j - 1], dp[i - 1][j]);}}cout << dp[a.size()][b.size()];return 0;
}

1265:【例9.9】最长公共子序列 LCS 朴素做法O(n*2)相关推荐

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

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

  2. 动态规划算法解最长公共子序列LCS问题

    动态规划算法解LCS问题 作者 July 二零一零年十二月三十一日 本文参考:微软面试100题系列V0.1版第19.56题.算法导论.维基百科. 第一部分.什么是动态规划算法 ok,咱们先来了解下什么 ...

  3. 动态规划之最长公共子序列(LCS)

    最长公共子序列(LCS,Longest Common Subsequence).其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最 ...

  4. 程序员编程艺术第十一章:最长公共子序列(LCS)问题

    程序员编程艺术第十一章:最长公共子序列(LCS)问题 0.前言 程序员编程艺术系列重新开始创作了(前十章,请参考程序员编程艺术第一~十章集锦与总结).回顾之前的前十章,有些代码是值得商榷的,因当时的代 ...

  5. 算法之最长公共子序列(LCS)问题

    算法课上老师留的作业,最长公共子序列LCS(Longest Common Subsequence)问题,首先看到这个问题感觉有点复杂,和最长公共子串不同,公共子序列并不要求元素相邻,看起来只有穷举才能 ...

  6. 最长公共子序列php,动态规划(最长公共子序列LCS)

    概念 求解决策过程最优化的结果 (可能有多个) 把多阶段过程转化为一系列单阶段过程,利用各阶段之间的关系,逐个求解 计算过程中会把结果都记录下,最终结果在记录中找到. 举例 求两个字符串的最长公共子序 ...

  7. python实现求解最长公共子序列LCS问题

    在实现论文<Automatically Generating Models for Botnet Detection>论文的算法中,用到了一个The longest commom subs ...

  8. 算法导论-----最长公共子序列LCS(动态规划)

    目录 一.概念梳理 二.最长公共子序列解决方案 方案1:蛮力搜索策略 方案2:动态规划策略 三.C代码实现 实现1 实现2(空间优化) 一.概念梳理   1. 子序列(subsequence): 一个 ...

  9. 动态规划表格法解决最长公共子序列(LCS)问题

    3.5 最长公共子序列(LCS) 前言:图片是博主自己画的,转载请注明出处哦 3.5.1 问题描述 最长公共子序列(Longest Common Subseuence,LCS)问题:给定两个字符串,求 ...

最新文章

  1. Android Handler 异步消息处理机制的妙用 创建强大的图片载入类
  2. http get请求相同的key_B站微服务框架Kratos详细教程(2)HTTP服务
  3. 深度学习要点———神经网络的类型
  4. linux shell sed awk 命令(2)-awk
  5. 合并odex和少dex的apk为完整的apk文件
  6. 在参数上使用@Param(“paramName”)注解”解决了传多个参数的问题
  7. python哪个方向工资高_Python薪资最高的是一线城市,竟然平均月薪高达20k!
  8. Sedawk笔记之awk篇:快速了解Awk(三)
  9. android 下滑,Android实现下滑和上滑事件
  10. python制作考试系统_Python系统学习 - Pytest单元测试框架
  11. JSON为什么那样红(另有洞天)
  12. 约瑟夫问题的几种实现
  13. php前后端分离两个域名访问,Laravel 5.4前后台分离,通过不同的二级域名访问方法...
  14. Verilog 初学笔记--顺序操作 和 并行操作的一点思考(参考黑金教程:Verilog HDL那些事 建模篇)...
  15. RESTful风格编程
  16. 程序员如何切入区块链去中心化应用开发 1
  17. redis缓存数据库技术
  18. 关于在联想电脑管家更新网卡驱动后无法显示可用网络wifi的问题!
  19. Exception | This means that said other beans do not use the final version of the bean. This is often
  20. 导致Android手机崩溃的壁纸,一张壁纸导致安卓手机崩溃作者首发声:绝非故意...

热门文章

  1. Unix/Linux下的Curse库开发指南——第六章 菜单开发及应用
  2. 经常玩电脑正确的坐姿_使用电脑时要养成正确的坐姿
  3. Citrix虚拟桌面部署
  4. pycharm 配置 interpreter
  5. 【人工智能数学基础(三)】数学优化
  6. MATLAB仿真m序列,Gold序列,Kasami序列扩频码性能仿真分析
  7. 基于matlab的电机,基于MATLAB的电机仿真研究
  8. 途牛2021年第三季度营收约1亿元,同比、环比均有所下降
  9. Python bool布尔类型(解析)
  10. SQL Server 非对称秘钥管理