当前位置: 首页 > news >正文

【最长公共子序列】

题目

代码

#include <bits/stdc++.h>
using namespace std;const int N =  1010;
int f[N][N];
char A[N], B[N];
int main()
{int n, m;cin >> n >> m;cin >> A+1 >> 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]);}}cout << f[n][m];
}

思路

状态定义:A中1-i元素,B中1-j元素进入考虑的最长公共子序列长度

集合划分

1. A[i] B[j]都影响属性

2. A[i]影响

3. B[j]影响

4. 都不影响

转移方程

 

if(A[i] == B[j]) f[i][j] = f[i-1][j-1] + 1;

如果两个都相同,说明至少有一方影响了结果,如果两方删除,结果必然-1
else f[i][j] = max(f[i-1][j], f[i][j-1]);

如果两个都不相同,说明最多一方影响了结果(不能交叉),删掉某一个会-1,删掉另一个则不会,取大即可。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 程序员的日常挑战:如何在编码工作与持续学习之间找到平衡?
  • 电子克隆方法的优缺点有哪些?
  • 计数排序算法及优化(java)
  • 搜狐新闻HarmonyOS Push开发实践
  • 火绒安全:一款强大且高效的国产杀毒软件
  • C语言基础(十二)
  • kubernetest中wait.Until()方法的源码解读
  • 《黑神话·悟空》是用什么编程语言开发的?
  • 豆包大模型升级:日均Tokens使用量破5000亿,字节跳动打造即刻体验的《Her》式AI
  • yield生成器生成表单字段,并进行验证,利用fetch方法和formData对象传递数据给后端,后端返回成功,返回数据
  • LambdaQueryWrapper 是 MyBatis-Plus超级利器
  • Telegram mini app 本地开发配置
  • 跟着GPT学习 Kubernetes ,简称 K8s -- Kind(三)
  • redis 过期监听:高效管理数据生命周期
  • 回归预测|基于北方苍鹰优化极端梯度提升树的数据回归预测Matlab程序NGO-XGBoost多特征输入单输出
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【个人向】《HTTP图解》阅后小结
  • Linux链接文件
  • Protobuf3语言指南
  • React 快速上手 - 07 前端路由 react-router
  • scala基础语法(二)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Vue2 SSR 的优化之旅
  • 闭包,sync使用细节
  • 大型网站性能监测、分析与优化常见问题QA
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 小程序button引导用户授权
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 原生js练习题---第五课
  • gunicorn工作原理
  • 阿里云API、SDK和CLI应用实践方案
  • ###项目技术发展史
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #if等命令的学习
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (1)(1.13) SiK无线电高级配置(五)
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (31)对象的克隆
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (计算机网络)物理层
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (十六)一篇文章学会Java的常用API
  • (十一)图像的罗伯特梯度锐化
  • (五)关系数据库标准语言SQL
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程