#P5692. [MtOI2019] 手牵手走向明天

    ID: 4687 远端评测题 1500ms 512MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>2019洛谷原创O2优化块状链表,块状数组,分块

[MtOI2019] 手牵手走向明天

Description

Rinne 给了你一个数列 a1,a2,,ana_1,a_2,\dots,a_n,你需要依次执行 mm 个操作。

操作共有两种:

  1. 给定 l,r,x,yl,r,x,y,将 al,al+1,al+2,,ara_l,a_{l+1},a_{l+2},\dots,a_r 中等于 xx 的数全部改成 yy

  2. 给定 l,r,x,yl,r,x,y,找到 i,ji,j 满足 i,j[l,r]i,j\in[l,r]ai=x,aj=ya_i=x,a_j=y,并要求 ij|i-j| 最小。求这个最小值。无解输出 1-1

Input Format

第一行两个正整数 n,mn,m,表示序列长度和操作个数。

第二行 nn 个正整数 a1,a2,,ana_1,a_2,\dots,a_n

接下来 mm 行,每行五个正整数 op,l,r,x,yop,l,r,x,y。若 op=1op=1,表示修改操作。若 op=2op=2,表示询问操作。l,r,x,yl,r,x,y 对应的含义见题目描述。

Output Format

对每个 op=2op=2 的操作,输出一行一个整数表示答案。

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

0
3
-1

Hint

对于 100%100\% 的数据,1n,m,ai,x,y1051\leq n,m,a_i,x,y\leq 10^51lrn1\leq l\leq r\leq n

本题共有 66 个子任务,每个子任务的限制如下:

子任务 1111 分):保证对于任意操作,l=1,r=nl=1,r=n

子任务 2255 分):n,m50n,m\leq 50

子任务 331818 分):n,m2000n,m\leq 2000

子任务 4477 分):保证 ai,x,y{1,2}a_i,x,y\in\{1,2\}

子任务 552929 分):保证当 op=2op=2 时,x=yx=y

子任务 664040 分):没有特殊限制。

时间限制1.5s1.5\rm s

空间限制512MB512\rm MB

Idea:nzhtl1477,mrsrz

Solution:mrsrz,nzhtl1477

Code:mrsrz

Data:mrsrz

Background:disangan233,mrsrz