[Ynoi2018] 天降之物
题目背景
可曾做过这样的梦呢?
在我身边,有一个我从没见过的少女
我很喜欢她,她也很喜欢我
不过——
最后总是
在她被天空掳去的时候
迎来梦醒时分
![](https://cdn.luogu.com.cn/upload/pic/58812.png)
人?
不对
不是人
没有人会...
长着翅膀
![](https://cdn.luogu.com.cn/upload/pic/58813.png)
没有没有没有
哪里都没有
没有我可以回去的地方
我没有任何可以回去的地方!
哪里都没有...
我能回去的地方...无论哪里...无论哪里都没有...
我不想杀死任何人,不想伤害任何人!
为什么...为什么要制造出我...
不需要...我不需要这种力量...
![](https://cdn.luogu.com.cn/upload/pic/58814.png)
幸福不足以形容我现在的心情
我该说什么才好呢
啊对了
我...爱你
我爱你...主人
![](https://cdn.luogu.com.cn/upload/pic/58815.png)
神话中的伊卡洛斯,由于过于靠近太阳,用蜡粘住的羽毛融化后坠海而死
题目描述
伊卡洛斯给了你一个长为 $n$ 的序列 $a$。
你需要实现 $m$ 个操作,操作有两种:
1. 把序列中所有值为 $x$ 的数的值变成 $y$。
2. 找出一个位置 $i$ 满足 $a_i=x$,找出一个位置 $j$ 满足 $a_j=y$,使得 $|i-j|$ 最小,并输出 $|i-j|$。
输入输出格式
输入格式
第一行两个整数 $n,m$。
之后一行 $n$ 个整数,表示序列 $a$。
之后 $m$ 行,每行三个数 $opt,x,y$。
如果 $opt$ 为 $1$,代表把序列中所有值为 $x$ 位置的值变成 $y$。
如果 $opt$ 为 $2$,代表找出一个位置 $i$ 满足 $a_i=x$,找出一个位置 $j$ 满足 $a_j=y$,使得 $|i-j|$ 最小,并输出 $|i-j|$,如果找不出这样的位置,输出 `Ikaros`。
本题强制在线,每次的 $x,y$ 需要 xor 上上次答案,如果输出 `Ikaros`,或者是第一次询问,则上次答案为 $0$。
共 $50$ 组数据,数据中保证 $n=m$。
输出格式
对于每个 $2$ 操作,输出一行一个整数表示答案。
如果无法找出满足题意的 $i,j$,则输出 `Ikaros`。
输入输出样例
输入样例 #1
5 5
1 2 2 4 4
2 3 3
2 2 4
1 3 2
1 5 5
2 2 5
输出样例 #1
Ikaros
1
1
说明
Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477( partially uploaded )
对于 $100\%$ 的数据,所有数在 $[1,10^5]$ 内,每次操作的值不超过 $n$。