AT_abc206_d [ABC206D] KAIBUNsyo
题目描述
给定一个由 $N$ 项组成的正整数序列 $A=(A_1,A_2,\ \dots\ A_N)$。
你可以进行如下操作任意多次(包括 $0$ 次):
- 选择一对正整数 $(x, y)$,然后将当前 $A$ 中所有的 $x$ 替换为 $y$。
请问,最少需要进行多少次操作,才能使 $A$ 变为回文序列?
在本题中,当且仅当对于所有整数 $i$($1\le i\le N$),都有 $A_i=A_{N+1-i}$ 时,$A$ 被称为回文序列。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\dots$ $A_N$
输出格式
请输出一个整数,表示最少需要进行的操作次数。
说明/提示
## 限制条件
- 输入均为整数。
- $1\le N\le 2\times 10^5$
- $1\le A_i\le 2\times 10^5$
## 样例解释 1
- 初始时,$A=(1,5,3,2,5,2,3,1)$。
- 将 $A$ 中所有的 $3$ 替换为 $2$,得到 $A=(1,5,2,2,5,2,2,1)$。
- 再将 $A$ 中所有的 $2$ 替换为 $5$,得到 $A=(1,5,5,5,5,5,5,1)$。
通过上述两步操作,可以将 $A$ 变为回文序列,且这是最少的操作次数。
## 样例解释 3
$A$ 也有可能一开始就是回文序列。
由 ChatGPT 4.1 翻译