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

P1439 【模板】最长公共子序列

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

题目描述

给出1, 2, …, n的两个排列P1​和P2​,求它们的最长公共子序列。

输入格式

第一行是一个数n。
接下来两行,每行为n个数,为自然数1, 2, …, n的一个排列。

输出格式

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

输入输出样例

输入#1输出#1
5
3 2 1 4 5
1 2 3 4 5
3

说明/提示

  • 对于50%的数据,n≤103;
  • 对于100%的数据,n≤105。

思路:
朴素dp

代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 3e3+10;
int n;
int a[N], b[N];
int dp[N][N]; int main() 
{cin >> n;for (int i = 1; i <= n; ++i) cin >> a[i];for (int i = 1; i <= n; ++i) cin >> b[i];for (int i = 1; i <= n; ++i) {for (int j = 1; j <= n; ++j) {if (a[i] == b[j]) {dp[i][j] = dp[i-1][j-1] + 1;} else {dp[i][j] = max(dp[i-1][j], dp[i][j-1]);}}}cout << dp[n][n] << endl;return 0;
}

思路:

排列优化

代码:

http://www.xdnf.cn/news/6553.html

相关文章:

  • 第五部分:第五节 - Express 路由与中间件进阶:厨房的分工与异常处理
  • “多维像素”可赋能具身智能非凡感知力——昱感微参加2025松山湖中国IC创新高峰论坛
  • 2026《数据结构》考研复习笔记四(绪论)
  • [AI算法] LLM训练-构建transformers custom model
  • 安卓中0dp和match_parent区别
  • Verilog HDL 语言整理
  • Vue.js教学第二章:Vue实例创建与核心选项全解析
  • 「Mac畅玩AIGC与多模态40」开发篇35 - 用 Python 开发服务对接 SearxNG 与本地知识库
  • C++(16):“”符号
  • 【ARM】MDK如何将变量存储到指定内存地址
  • GESP2025年3月认证C++二级( 第三部分编程题(1)等差矩阵)
  • conda创建环境常用命令(个人用)
  • 优雅使用Gunicorn进程管理FastAPI
  • 硬件厂商的MIB文档详解 | 如何查询OID? | MIB Browser实战指南-优雅草卓伊凡
  • 基于MATLAB-GUI图形界面的数字图像处理
  • 深入理解For循环及相关关键字原理:以Python和C语言为例
  • uni-app x正式支持鸿蒙原生应用开发
  • LeetCode Hot100刷题——合并区间
  • docker学习与使用(概念、镜像、容器、数据卷、dockerfile等)
  • Ubuntu24.04 安装 5080显卡驱动以及cuda
  • 宇树科技申请 “机器人牌照” 商标,剑指机器人领域新高度​
  • 安装Minikube
  • Redis——底层数据结构
  • Tomcat 配置 HTTPS 访问全攻略(CentOS 环境)
  • WebSocket聊天室的简单制作指南
  • 使用IDEA开发Spark Maven应用程序【超详细教程】
  • JMeter 测试工具--组件--简单介绍
  • 解决CLion控制台不能及时显示输出的问题
  • 盲盒软件开发展望:从“随机消费”到“情感经济”,开启下一代娱乐消费革命
  • Go语言八股文之Mysql锁详解