#aBC206D. [ABC206D] KAIBUNsyo

[ABC206D] KAIBUNsyo

AT_abc206_d [ABC206D] KAIBUNsyo

题目描述

给定一个由 NN 项组成的正整数序列 A=(A1,A2,  AN)A=(A_1,A_2,\ \dots\ A_N)
你可以进行如下操作任意多次(包括 00 次):

  • 选择一对正整数 (x,y)(x, y),然后将当前 AA 中所有的 xx 替换为 yy

请问,最少需要进行多少次操作,才能使 AA 变为回文序列?

在本题中,当且仅当对于所有整数 ii1iN1\le i\le N),都有 Ai=AN+1iA_i=A_{N+1-i} 时,AA 被称为回文序列。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 \dots ANA_N

输出格式

请输出一个整数,表示最少需要进行的操作次数。

输入输出样例 #1

输入 #1

8
1 5 3 2 5 2 3 1

输出 #1

2

输入输出样例 #2

输入 #2

7
1 2 3 4 1 2 3

输出 #2

1

输入输出样例 #3

输入 #3

1
200000

输出 #3

0

说明/提示

限制条件

  • 输入均为整数。
  • 1N2×1051\le N\le 2\times 10^5
  • 1Ai2×1051\le A_i\le 2\times 10^5

样例解释 1

  • 初始时,A=(1,5,3,2,5,2,3,1)A=(1,5,3,2,5,2,3,1)
  • AA 中所有的 33 替换为 22,得到 A=(1,5,2,2,5,2,2,1)A=(1,5,2,2,5,2,2,1)
  • 再将 AA 中所有的 22 替换为 55,得到 A=(1,5,5,5,5,5,5,1)A=(1,5,5,5,5,5,5,1)。 通过上述两步操作,可以将 AA 变为回文序列,且这是最少的操作次数。

样例解释 3

AA 也有可能一开始就是回文序列。

由 ChatGPT 4.1 翻译