#D17025. 最长公共子序列(LCS)(2)

最长公共子序列(LCS)(2)

题目描述

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

和最长公共子序列(LCS)(1)问题不同的是,本题的nn51000005 \sim 100000之间。

输入描述

第一行是一个数nn;(nn51000005 \sim 100000之间的整数)

接下来两行,每行为nn个数,为自然数1n1 \sim n的一个排列(1n1 \sim n的排列每行的数据都是1n1 \sim n之间的数,但顺序可能不同,比如151 \sim 5的排列可以是:11 22 33 44 55,也可以是22 55 44 33 11)。

输出描述

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

样例

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