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

题解:洛谷 P1439 两个排列的最长公共子序列

【题目来源】

洛谷:P1439 【模板】最长公共子序列 - 洛谷

【题目描述】

给出 \(1,2,\dots,n\) 的两个排列 \(P_1\)\(P_2\) ,求它们的最长公共子序列。

【输入】

第一行是一个数 \(n\)

接下来两行,每行为 \(n\) 个数,为自然数 \(1,2,\dots,n\) 的一个排列。

【输出】

一个数,即最长公共子序列的长度。

【输入样例】

5 
3 2 1 4 5
1 2 3 4 5

【输出样例】

3

【解题思路】

image

【算法标签】

《洛谷 P1439 最长公共子序列》 #动态规划,dp# #二分#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 100005;  // 定义最大数组长度int n;                 // 数组长度
int a[N], b[N];        // 输入的两个数组
int m[N];              // 记录a数组中每个值对应的位置
set<int> dp;           // 使用set维护最长递增子序列
set<int>::iterator it; // set的迭代器int main()
{// 输入数组长度cin >> n;// 输入数组a并记录每个数字的位置for (int i = 1; i <= n; i++) {cin >> a[i];m[a[i]] = i;  // 记录数字a[i]在a数组中的位置}// 输入数组bfor (int i = 1; i <= n; i++) {cin >> b[i];}// 初始化dp集合,插入第一个元素在a中的位置dp.insert(m[b[1]]);// 处理数组b的剩余元素for (int i = 2; i <= n; i++) {// 在dp中查找第一个不小于当前元素位置的元素it = dp.lower_bound(m[b[i]]);// 如果找到这样的元素,删除它(维护最小末尾元素)if (it != dp.end()){dp.erase(it);}// 插入当前元素的位置dp.insert(m[b[i]]);}// 输出最长递增子序列的长度cout << dp.size();return 0;
}

【运行结果】

5 
3 2 1 4 5
1 2 3 4 5
3
http://www.jsqmd.com/news/397083/

相关文章:

  • php条件语句(混合php的if语句和js编程)
  • 题解:洛谷 P4933 大师
  • 基于LSTM的共享单车需求预测研究
  • 题解:洛谷 P2285 [HNOI2004] 打鼹鼠
  • 题解:洛谷 P1020 [NOIP 1999 提高组] 导弹拦截
  • 携程任我行礼品卡回收实操步骤 - 京顺回收
  • 研究生开题答辩前如何确保论文AI率合格?导师不会告诉你的实操指南
  • neovim配置python插件支持环境 —— Pynvim 环境搭建 —— Pynvim安装
  • 期刊投稿也要查AI了?学术期刊AIGC检测现状与对策
  • Gemini 3.1 Pro在这个平台便宜到离谱,编程能力竟然超过GPT-5.2和Opus 4.6
  • MySQL几种count比
  • 2026年广州AI获客服务商赋能实体经济标杆企业TOP10榜单:技术与产业深度融合的领航者 - 野榜精选
  • 在K8s集群中部署Traefik并验证Python HTTP服务
  • 深入浅出 K8s 内外部通信:全场景方案解析与生产实践
  • 2026年热压/烫金/丝印皮牌工艺行业优质供应商TOP10推荐:聚焦全链条服务能力,助力品牌价值升级 - 野榜精选
  • 深入解析Nginx反向代理多服务时静态资源路径冲突的根源与解决方案
  • 2026年,探寻有抗衰老功效的保健品,保健品/抗衰老片,保健品食品选哪家 - 品牌推荐师
  • 2026年2月无管道新风机品牌TOP10榜单:技术创新与场景适配性双维度评选 - 野榜精选
  • 对数额外空间的森林判定
  • OpenJDK和Oracle JDK有什么区别和联系?
  • 探寻2026可长期服用能抗疲劳的保健品,抗衰老片/保健品,保健品产品哪家好 - 品牌推荐师
  • Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解
  • C++的多态是如何体现的?一篇文章搞懂C++虚函数机制与常见问题
  • 【Linux】sudo 命令提升权限的使用技巧
  • HTTP 协议发展详解:从 HTTP/1 到 HTTP/3
  • 大模型应用开发:从选型到部署的核心考量
  • 探索ABAQUS刀盘切削竹材有限元模型
  • Prompt,除了使用外,你了解其核心原理么?
  • GEO崛起:AI时代品牌信息优化的新策略
  • php字符串变量传递到js注意事项