P1297 最长公共上升子序列 LCIS

暂无评定 传统题 GESP动态规划 DP 上传者
时间限制1000ms
内存限制256MiB
通过 / 提交2/4

P1297最长公共上升子序列 LCIS

暂无评定 传统题 GESP动态规划 DP 上传者
时间限制1000ms
内存限制256MiB
通过 / 提交2/4

最长公共上升子序列 LCIS

题目描述

给定两个长度为 NN 的整数序列 AA 和 BB。

如果某个序列同时是 AA 和 BB 的子序列,并且该序列中的元素严格递增,则称它为 AA 和 BB 的公共上升子序列。

请你求出 AA 和 BB 的最长公共上升子序列的长度。

这里“子序列”指从原序列中删除任意多个元素后,剩余元素保持原有相对顺序得到的序列。子序列不要求连续。

“严格递增”指后一个元素必须严格大于前一个元素。

输入格式

第一行一个整数 NN,表示序列 AA 和 BB 的长度。

第二行包含 NN 个整数,表示序列 AA。

第三行包含 NN 个整数,表示序列 BB。

输出格式

输出一行一个整数,表示最长公共上升子序列的长度。

输入输出样例 #1

输入 #1

4
2 2 1 3
2 1 2 3

输出 #1

2

说明/提示

样例解释

序列 A=[2,2,1,3]A=[2,2,1,3],序列 B=[2,1,2,3]B=[2,1,2,3]。

一个最长公共上升子序列是 [1,3][1,3]:

  • 在 AA 中可取第 33 个元素 11 和第 44 个元素 33;
  • 在 BB 中可取第 22 个元素 11 和第 44 个元素 33;
  • 该子序列严格递增。

其长度为 22。此外,[2,3][2,3] 也是长度为 22 的公共上升子序列。

数据规模与约定

  • 1≤N≤30001 \le N \le 3000
  • 0≤∣Ai∣,∣Bi∣≤1060 \le |A_i|, |B_i| \le 10^6

序列中的每个整数绝对值不超过 10610^6,可以为正数、负数或零。