AT_abc279_e [ABC279E] Cheating Amidakuji
题目描述
有一个由 N 根竖直的棍子和 M 根连接这些棍子之间的横杆组成的“阿弥陀签”。每根横杆都垂直于竖棍,并且它们的高度各不相同。将竖棍从左到右依次编号为 1,2,…,N,横杆从上到下依次编号为 1,2,…,M。横杆 i (1≤i≤M) 连接了竖棍 Ai 和竖棍 Ai+1 之间。
从竖棍 1 的顶端开始,沿着阿弥陀签向下走,最终到达的竖棍编号称为得分。
对于 i=1,2,…,M,请回答以下问题:
- 定义 Si 为将横杆 i 删除后的得分。请计算 Si。
注意,实际上横杆不会真的被删除,因此每个问题是独立的。
更严格地说,具体操作如下:
给定一个长度为 M 的数列 A=(A1,A2,…,AM),其中每个 Ai 是 1 到 N−1 之间的整数。对于 i=1,2,…,M,请回答以下问题:
- 有一个数列 B=(B1,B2,…,BN),初始时对于每个 j,都有 Bj=j。接下来,依次对 k=1,2,…,i−1,i+1,…,M(即除了 i 以外的 1 到 M 的整数 k,按升序)进行如下操作:
- 交换 BAk 和 BAk+1 的值。
- 所有操作结束后,满足 Bj=1 的 j 的值即为 Si。请计算 Si。
输入格式
输入以如下格式从标准输入读入。
N M A1 A2 … AM
输出格式
输出 M 行。对于每个 i (1≤i≤M),第 i 行输出 Si 的值(整数)。
输入输出样例 #1
输入 #1
5 4
1 2 3 2
输出 #1
1
3
2
4
输入输出样例 #2
输入 #2
3 3
2 2 2
输出 #2
1
1
1
输入输出样例 #3
输入 #3
10 10
1 1 1 9 4 4 2 1 3 3
输出 #3
2
2
2
3
3
3
1
3
4
4
说明/提示
限制条件
- 2≤N≤2×105
- 1≤M≤2×105
- 1≤Ai≤N−1 (1≤i≤M)
- 输入均为整数
样例解释 1
当 i=2 时,B 的变化如下:
- 初始时,B=(1,2,3,4,5)
- k=1 时,交换 B1 和 B2,B=(2,1,3,4,5)
- k=3 时,交换 B3 和 B4,B=(2,1,4,3,5)
- k=4 时,交换 B2 和 B3,B=(2,4,1,3,5)
所有操作结束后,B3=1,因此 S2=3。
同理:
- i=1 时:依次对 k=2,3,4 操作后,B=(1,4,3,2,5),所以 S1=1
- i=3 时:依次对 k=1,2,4 操作后,B=(2,1,3,4,5),所以 S3=2
- i=4 时:依次对 k=1,2,3 操作后,B=(2,3,4,1,5),所以 S4=4。
由 ChatGPT 4.1 翻译