首先由于相邻的都不一样,能不能用特殊的方法表示
S
S
S呢?如果看作是在模3的情况下,我们可以发现相邻的要么是+1要么是-1,因此
S
S
S等价一个数组
a
a
a,
a
i
%
3
=
S
i
a_i\%3=S_i
ai%3=Si,
∣
a
i
−
a
i
−
1
∣
=
1
|a_i-a_{i-1}|=1
∣ai−ai−1∣=1,在
a
1
a_1
a1确定的时候唯一确定。
而操作可以看作将
a
i
a_i
ai加或减2,并且要求之后还满足上面的条件。
现在我们要把
S
S
S对应的
a
a
a变成
T
T
T对应的
b
b
b,首先
a
1
=
b
1
(
m
o
d
2
)
a_1=b_1(mod\ 2)
a1=b1(mod2),因此对于所有
i
i
i都有
a
i
=
b
i
(
m
o
d
2
)
a_i=b_i(mod\ 2)
ai=bi(mod2)。由于
a
,
b
a,b
a,b写成函数图像的优美的性质并不会在非整点相交,考虑在交点处分成若干个独立的段,不妨设
a
i
>
b
i
a_i>b_i
ai>bi在这一段满足,那么每一次将最大值减去2一定仍满足条件,因此可以得到
a
n
s
=
∑
∣
a
i
−
b
i
∣
2
ans=\sum\frac{|a_i-b_i|}{2}
ans=∑2∣ai−bi∣
但是注意到
a
1
,
b
1
a_1,b_1
a1,b1未确定,因此固定
a
1
a_1
a1枚举
b
1
b_1
b1计算最小的
a
n
s
ans
ans.预处理
a
i
−
b
i
a_i-b_i
ai−bi的分界点讨论正负即可做到
O
(
n
)
O(n)
O(n)。