#YDRB012C. 变换 (transform)

变换 (transform)

题目描述

给定 nn,对于 nn 的一个排列 p1,p2,,pnp_1,p_2,\cdots,p_n,你可以进行任意次变换

  • 将当前排列的第一个数插入到除了开头以外的任何一个位置。

例如,对 [1,2,3][\underline{\mathbf{\color{red}1}},2,3] 进行一次变换,可能得到 $[2,\mathit{\color{red}1},3],[2,3,\mathit{\color{red}1}]$。

现在给定两个 nn 的排列 P1,P2P_1,P_2,求出将 P1P_1 转化为 P2P_2,至少需要多少次变换。

可以证明,总是可以完成这样的转化的。

输入格式

从文件 transform.in 中读入。

第一行一个整数 nn

第二行 nn 个整数,表示排列 P1P_1

第三行 nn 个整数,表示排列 P2P_2

输出格式

输出到文件 transform.out 中。

输出一行一个整数,即将 P1P_1 转化为 P2P_2,至少需要的变换次数。

输入输出样例

输入样例 1

5
1 5 2 3 4
1 2 3 4 5

输出样例 1

2

样例 1 说明

一种最优的变换方式是:

$$[\underline{\mathbf{\color{red}1}},5,2,3,4]\to[\underline{\mathbf{\color{blue}5}},\mathit{\color{red}1},2,3,4]\to[1,2,3,4,\mathit{\color{blue}5}]$$

样例 2

见下发压缩包中 transform2.in\textbf{\textit{transform2.in}}transform2.ans\textbf{\textit{transform2.ans}}

该样例符合测试点 121\sim 2 的限制。

样例 3

见下发压缩包中 transform3.in\textbf{\textit{transform3.in}}transform3.ans\textbf{\textit{transform3.ans}}

该样例符合测试点 343\sim4 的限制。

样例 4

见下发压缩包中 transform4.in\textbf{\textit{transform4.in}}transform4.ans\textbf{\textit{transform4.ans}}

该样例符合测试点 575\sim 7 的限制。

说明

数据规模与约定

测试点 nn\le 特殊性质
121\sim2 1010 /
343\sim4 无特殊限制 A
575\sim7 10310^3 /
8108\sim10 无特殊限制
  • 性质 A:P1P_1 单调递增,P2P_2 单调递减。

对于 100%100\% 的数据,有 1n1061\le n\le 10^6