#HK4298. 「ROIR 2019 Day1」仓库自动化

「ROIR 2019 Day1」仓库自动化

题目描述

译自 ROI Regional 2019 Day1 T3. Автоматизация склада

公司正在进行仓库自动化。仓库里存放着 nn 种商品,编号从 11nn,每种商品存放在一个独立的房间里。编号为 ii 的商品存放在编号为 ii 的房间里。

一个专用机器人负责处理从仓库取货的请求。机器人使用特殊的电子卡片来访问仓库的房间。卡片存放在机器人的一个专用槽中,机器人可以从槽中取出顶部的卡片。取出的卡片可以放回槽中的任意位置:顶部、任意两张卡片之间或最底部。

为了打开房间,机器人按以下步骤操作。它从槽中取出卡片并放回槽中,直到顶部的卡片是它需要的房间的卡片。然后,取出这张卡片,使用它打开房间,并将其放回槽中。如果机器人总共取出了 xx 张卡片(包括最终打开房间的那张),我们说机器人为了打开房间进行了 xx 次操作。

在工作日开始时,机器人接到了一个订单,需要取出 mm 件商品:a1,a2,,ama_{1}, a_{2}, \ldots, a_{m}。机器人必须按这个顺序取出商品。为此,它依次执行以下操作:打开存放当前商品的房间,取出商品,关闭房间并将商品交给客户。然后,机器人继续取出下一个商品。

最初,电子卡片按以下顺序从上到下放在槽中:b1,b2,,bnb_{1}, b_{2}, \ldots, b_{n}。每个房间的卡片在槽中恰好有一张。

取出商品所需的时间取决于机器人总共需要从槽中取出多少次卡片,以找到当前房间的卡片。需要选择机器人放回取出卡片的位置,以最小化机器人打开房间的总操作次数。

编写一个程序,根据给定的整数 nnmm,商品的取出顺序 a1,a2,,ama_{1}, a_{2}, \ldots, a_{m} 以及卡片在槽中的初始位置 b1,b2,,bnb_{1}, b_{2}, \ldots, b_{n},确定机器人需要进行的最小操作次数,以按顺序打开所有房间。对于每次取出的卡片,还需要指明将其放回的位置,以实现最优操作次数。

输入格式

第一行输入包含两个整数 nnmm (1n,m3105)(1 \leq n, m \leq 3 \cdot 10^{5}),表示商品种类数和需要从仓库取出的商品数。

第二行包含 mm 个整数 a1,a2,,ama_{1}, a_{2}, \ldots, a_{m} (1ain)(1 \leq a_{i} \leq n),表示需要按顺序取出的商品种类。

第三行包含 nn 个不同的整数 b1,b2,,bnb_{1}, b_{2}, \ldots, b_{n} (1bin)(1 \leq b_{i} \leq n),表示卡片在槽中的初始顺序,从上到下排列。

输出格式

第一行应包含一个整数 kk,表示机器人需要进行的最小操作次数。

接下来输出 kk 个整数。对于机器人的每次操作,输出一个整数,表示将取出的卡片放回槽中的位置。如果卡片放在最上面的位置,输出 11;如果放在一张卡片之后,输出 22,以此类推,最底部的位置输出 nn

如果有多种方法可以最小化总操作次数,输出其中任意一种。

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

在第二个样例中,机器人的卡片槽中的卡片移动如下:

操作 操作前 取出的卡片 打开的房间 卡片放回的位置 操作后
11 4,3,2,1\mathbf{4}, 3 , 2 , 1 44 44 44 3,2,1,43,2,1, \mathbf{4}
22 3,2,1,4\mathbf{3}, 2, 1, 4 33 - 44 2,1,4,32,1,4, \mathbf{3}
33 2,1,4,3\mathbf{2} , 1 , 4 , 3 22 - 22 1,2,4,31, \mathbf{2} , 4 , 3
44 1,2,4,3\mathbf{1} , 2 , 4 , 3 11 11 44 2,4,3,12,4,3, \mathbf{1}
55 2,4,3,1\mathbf{2} , 4 , 3 , 1 22 22 44 4,3,1,24,3,1, \mathbf{2}
66 4,3,1,2\mathbf{4}, 3, 1, 2 44 44 11 4,3,1,2\mathbf{4} , 3 , 1 , 2
77 4,3,1,2\mathbf{4} , 3 , 1 , 2 44 44 44 3,1,2,43,1,2, \mathbf{4}
2 2
1 2
2 1
3
2 2 2

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 55 1n,m5104,n=m1 \leq n, m \leq 5 \cdot 10^{4}, n=m
对所有 iiai=bia_{i}=b_{i}
22 1010 1n,m5104,n=m1 \leq n, m \leq 5 \cdot 10^{4}, n=m
对所有 iiai=bni+1a_{i}=b_{n-i+1}
33 3131 1n,m20001 \leq n, m \leq 2000
44 1414 1n,m51041 \leq n, m \leq 5 \cdot 10^{4},所有 aia_{i} 不同 1,21,2
55 1414 1n5104,1m1051 \leq n \leq 5 \cdot 10^{4}, 1 \leq m \leq 10^{5} 1,2,3,41,2,3,4
66 2626 $1 \leq n \leq 3 \cdot 10^{5}, 1 \leq m \leq 3 \cdot 10^{5}$ 1,2,3,4,51,2,3,4,5