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

AcWing 897:最长公共子序列 ← 子序列问题(n≤1e3)

【题目来源】
https://www.acwing.com/problem/content/899/

【题目描述】
给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。

【输入格式】
第一行包含两个整数 N 和 M。
第二行包含一个长度为 N 的字符串,表示字符串 A。
第三行包含一个长度为 M 的字符串,表示字符串 B。
字符串均由小写字母构成。​​​​​​​

【输出格式】
输出一个整数,表示最大长度。

【输入样例】
4 5
acbd
abedc

【输出样例】
3

【数据范围】
1≤N,M≤1000

【算法分析】
● 本题问题规模为 
1e3,所以采用如下经典动态规划方法求解是可行的。
● 若问题规模
大于 1e3,采用本题代码将会导致 MLETLE。则问题规模大于 1e3 的“最长公共子序列”问题的代码详见:https://blog.csdn.net/hnjzsyjyj/article/details/149813893

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=1e3+5;
char a[maxn],b[maxn];
int dp[maxn][maxn];int main() {int n,m;cin>>n>>m;int len=1;for(int i=1; i<=n; i++) cin>>a[i];for(int i=1; i<=m; i++) cin>>b[i];for(int i=1; i<=n; i++) {for(int j=1; j<=m; j++) {if(a[i]==b[j]) {dp[i][j]=max(dp[i-1][j-1]+1,dp[i][j]);} else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}cout<<dp[n][m];return 0;
}/*
in:
4 5
acbd
abedcout:
3
*/





【参考文献】
https://www.acwing.com/solution/content/8111/
https://mp.weixin.qq.com/s/ct5Mwf_h8dCn7zy1eHPfug
https://blog.csdn.net/hnjzsyjyj/article/details/100183820
https://blog.csdn.net/hnjzsyjyj/article/details/149798835
https://www.cnblogs.com/zhuzhucheng/p/16131615.html
https://blog.csdn.net/hnjzsyjyj/article/details/149813893




 

http://www.dtcms.com/a/309948.html

相关文章:

  • “数据管理” 一场高风险的游戏
  • 民航领域数据分类分级怎么做?|《民航领域数据分类分级要求》标准解读
  • 第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2022年3月13日真题
  • ip去重小脚本
  • uniapp基础 (一)
  • git pull和git fetch的区别
  • Python爬虫实战:研究OpenCV技术构建图像数据处理系统
  • (转)mybatis和hibernate的 缓存区别?
  • (一)React +Ts(vite创建项目)
  • Flask 路由系统:URL 到 Python 函数的映射
  • 嵌入式学习笔记-MCU阶段-DAY10ESP8266模块
  • 第11届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2020年5月30日真题
  • 嵌入式软件 (SW) 设计文件
  • W3D引擎游戏开发----从入门到精通【10】
  • 永洪科技华西地区客户交流活动成功举办!以AI之力锚定增长确定性
  • 视频生成中如何选择GPU或NPU?
  • UE5多人MOBA+GAS 番外篇:同时造成多种类型伤害,以各种属性值的百分比来应用伤害(版本二)
  • 如何理解推理模型
  • 学习:入门uniapp Vue3组合式API版本(17)
  • 2025网络安全指南
  • PyTorch基础——张量计算
  • 考取锅炉司炉工证需要学习哪些专业知识?
  • Altium Designer 22使用笔记(3)---原理图设计
  • Google play上架/更新频繁被拒是什么原因?
  • RabbitMQ 延时队列插件安装与使用详解(基于 Delayed Message Plugin)
  • C++ sort比较规则需要满足严格弱序
  • Coze Studio概览(五)--工作流管理
  • 人员定位卡人脸智能充电发卡机
  • Spring Boot + MongoDB:从零开始手动配置 MongoConfig 实战
  • 拉横幅识别误检率↓82%:陌讯多模态特征融合算法实战解析