#AT8009. 【模板】最长公共子序列

【模板】最长公共子序列

题目描述

给出 12n1,2,\ldots,n 的两个排列 P1P_1P2P_2 ,求它们的最长公共子序列。

输入格式

第一行是一个数 nn

接下来两行,每行为 nn 个数,为自然数 12n1,2,\ldots,n 的一个排列。

输出格式

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

5 
3 2 1 4 5
1 2 3 4 5
3

提示

  • 对于 50%50\% 的数据, n103n \le 10^3
  • 对于 100%100\% 的数据, n105n \le 10^5

最长公共子串(Longest Common Substirng)和最长公共子序列(Longest Common Subsequence,LCS)的区别为:子串是串的一个连续的部分,子序列则是从不改变序列的顺序,而从序列中去掉任意的元素而获得新的序列;也就是说,子串中数字的位置必须是连续的,子序列则可以不必连续。