P11497 [ROIR 2019] 自动仓库 (Day 1)
题目背景
翻译自 [ROIR 2019 D1T3](https://neerc.ifmo.ru/school/archive/2018-2019/ru-olymp-regional-2019-day1.pdf)。
题目描述
公司正在进行仓库自动化。仓库里存放着 $n$ 种商品,编号从 $1$ 到 $n$,每种商品存放在一个独立的房间里。编号为 $i$ 的商品存放在编号为 $i$ 的房间里。
一个机器人负责从仓库取货。机器人使用特殊的电子卡片进入仓库的房间。卡片在机器人的一个专用卡槽中。机器人可以从卡槽中取出**最前端**的卡片。取出的卡片可以放回卡槽中的**任意位置**。
为了进入一个房间,机器人按以下步骤操作:
- 从卡槽中取出一个卡片,并放回卡槽中。
- 重复这样的操作,直到卡槽最前端的卡片是它需要进入的房间的卡片。
- 然后,取出这张卡片,使用它进入房间,并将其放回卡槽中。
如果机器人总共取出了 $x$ 张卡片(包括最终打开房间的那张),我们说机器人为了进入这个房间进行了 $x$ 次操作。
现在,机器人需要按顺序取出 $m$ 件商品 $a_{1}, a_{2}, \dots, a_{m}$。最初,电子卡片在卡槽中的顺序为 $b_{1}, b_{2}, \dots, b_{n}$。每个房间的卡片在卡槽中恰好有一张。
取出商品所需的时间取决于机器人进入对应房间需要的操作次数。为了让机器人更快取出所有商品,你需要确定机器人放回取出卡片的位置,以最小化机器人的总操作次数。
输入格式
第一行输入两个整数 $n$ 和 $m$,表示商品种类数和需要从仓库取出的商品数。
第二行输入 $m$ 个整数 $a_{1}, a_{2}, \dots, a_{m}$,表示需要按顺序取出的商品。
第三行输入 $n$ 个不同的整数 $b_{1}, b_{2}, \dots, b_{n}$,表示卡片在卡槽中的初始顺序。
输出格式
第一行输出一个整数 $k$,表示机器人需要的最小操作次数。
第二行输出 $k$ 个整数,即对于机器人的每次操作,需要将取出的卡片放回卡槽中的位置(从前到后的位置编号为 $1$ 到 $n$,也就是将其放回后这个卡片在卡槽中的位置编号)。
如果有多种方法可以最小化总操作次数,可以输出任意一种。
说明/提示
### 样例解释
样例 $2$ 的所有操作如下:
|操作|操作前|取出的卡片|打开的房间|卡片放回的位置|操作后|
| :----------: | :----------: | :----------: | :----------: | :----------: | :----------: |
|$1$|$\mathbf{4}, 3 , 2 , 1$|$4$|$4$|$4$|$3,2,1, \mathbf{4}$|
|$2$|$\mathbf{3}, 2, 1, 4$|$3$|-|$4$|$2,1,4, \mathbf{3}$|
|$3$|$\mathbf{2} , 1 , 4 , 3$|$2$|-|$2$|$1, \mathbf{2} , 4 , 3$|
|$4$|$\mathbf{1} , 2 , 4 , 3$|$1$|$1$|$4$|$2,4,3, \mathbf{1}$|
|$5$|$\mathbf{2} , 4 , 3 , 1$|$2$|$2$|$4$|$4,3,1, \mathbf{2}$|
|$6$|$\mathbf{4}, 3, 1, 2$|$4$|$4$|$1$|$\mathbf{4} , 3 , 1 , 2$|
|$7$|$\mathbf{4} , 3 , 1 , 2$|$4$|$4$|$4$|$3,1,2,\mathbf{4}$|
### 数据范围
数据中 Subtask 0 为样例。
| 子任务 | 分值 | 特殊性质 |
| :----------: | :----------: | :----------: |
| $1$ | $5$ | $1 \leq n=m \leq 5 \cdot 10^{4}$,$a_i=b_i$ |
| $2$ | $10$ | $1 \leq n= m \leq 5 \cdot 10^{4}$,$a_i=b_{n-i+1}$ |
| $3$ | $31$ | $1 \leq n, m \leq 2000$ |
| $4$ | $14$ | $1 \leq n, m \leq 5 \cdot 10^{4}$,所有 $a_{i}$ 不同 |
| $5$ | $14$ | $1 \leq n \leq 5 \cdot 10^{4}, 1 \leq m \leq 10^{5}$ |
| $6$ | $26$ | $1 \leq n \leq 3 \cdot 10^{5}, 1 \leq m \leq 3 \cdot 10^{5}$ |