#P1771. 最长公共子序列2

最长公共子序列2

题目描述

给出 1n1 \sim n 的两个排列 P1P1P2P2,求它们的最长公共子序列。 和普通的最长公共子序列1问题不同的是,本题的 nn 范围在 51000005 \sim 100000 之间。

输入格式

第一行是一个整数 nn5n1000005 \leq n \leq 100000); 接下来两行,每行包含 nn 个整数,表示自然数 1n1 \sim n 的一个排列。

输出格式

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

样例 #1

样例输入 #1

5 
3 2 1 4 5
1 2 3 4 5

样例输出 #1

3

提示

  • 对于 50% 的数据,n1000n \leq 1000
  • 对于 100% 的数据,n100000n \leq 100000