CF187A Permutations
题目描述
“Happy PMP”是大一新生,他正在学习算法题。他非常喜欢玩算法游戏。
有一天,一位学长给“Happy PMP”带来了一个有趣的游戏。他获得了两个 $1$ 到 $n$ 的排列,并被要求将第一个排列转化为第二个排列。每一步操作,他可以将最后一个数从当前排列中移除,并插入到排列中的任意位置。具体来说,他可以把最后一个数插入到任意两个相邻数之间,也可以放在排列的开头。
“Happy PMP”已经有一个解决该问题的算法,但速度不够快。现在他想知道,将第一个排列转化为第二个排列所需的最少操作次数是多少。
输入格式
第一行包含一个整数 $n$($1\leq n\leq 2\cdot 10^{5}$)——排列中数字的数量。
第二行包含 $n$ 个用空格分隔的整数——第一个排列。每个数在 $1$ 到 $n$ 之间,在排列中恰好出现一次。
第三行以同样的格式给出第二个排列。
输出格式
输出一个整数,表示将第一个排列转化为第二个排列所需的最少操作次数。
说明/提示
在第一个样例中,他把数字 1 从排列末尾移除并放到开头。之后把数字 2 移除并插入到 1 和 3 之间。
在第二个样例中,他把数字 5 移除并插到 1 后面。
在第三个样例中,变换序列如下:
- 1 5 2 3 4
- 1 4 5 2 3
- 1 3 4 5 2
- 1 2 3 4 5
因此需要三次操作。
由 ChatGPT 5 翻译