AT_arc181_f [ARC181F] Colorful Reversi

题目描述

有一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\dots,A_N)$。对于该整数序列 $A$,可以进行如下操作: - 选择满足 $A_l=A_r,\ A_{l+1}=A_{l+2}=\dots=A_{r-1},\ A_{l+1}\neq A_l$ 的 $l,r\ (1\leq l < r \leq N)$。将 $A_{l+1},A_{l+2},\dots,A_{r-1}$ 全部替换为 $A_l$。该操作的代价为 $r-l-1$。 当不存在满足 $A_l=A_r,\ A_{l+1}=A_{l+2}=\dots=A_{r-1},\ A_{l+1}\neq A_l$ 的 $l,r\ (1\leq l < r \leq N)$ 时,停止操作。请你求出一系列操作所需总代价的最小值。

输入格式

输入以如下格式从标准输入读入。 > $N$ $A_1$ $A_2$ $\dots$ $A_N$

输出格式

请输出答案。

说明/提示

## 限制条件 - $3 \leq N \leq 5 \times 10^5$ - $1 \leq A_i \leq N$ - 输入的所有值均为整数 ## 样例解释 1 例如,依次进行 $(l,r)=(3,5),\ (2,6),\ (1,7)$ 的操作时,$A$ 会变为 $(1,2,3,2,3,2,1)\rightarrow (1,2,3,3,3,2,1)\rightarrow (1,2,2,2,2,2,1)\rightarrow (1,1,1,1,1,1,1)$,此时不存在满足条件的 $l,r$。这一系列操作的总代价为 $1+3+5=9$。另一方面,依次进行 $(l,r)=(2,4),\ (4,6),\ (1,7)$ 的操作时,$A$ 会变为 $(1,2,3,2,3,2,1)\rightarrow (1,2,2,2,3,2,1)\rightarrow (1,2,2,2,2,2,1)\rightarrow (1,1,1,1,1,1,1)$,这一系列操作的总代价为 $1+1+5=7$。 由 ChatGPT 4.1 翻译