#2941. stong9070奇遇记之回文

stong9070奇遇记之回文

背景

stong9070者,三国M国之谋士也。大王最近在练兵,提高战斗力,但不得法,于是把这个任务交给stong9070。

题目描述

大王共有NN名士兵,从1到NN编号,每个士兵i(1iN)i(1≤i≤N)都有一个武商值AiA_i

stong9070喜欢回文,对于士兵A=(A1,A2,,AN)A=(A_1,A_2,…,A_N),我们定义回文如下:

  • 当且仅当Ai=AN+1iA_i​=A_{N+1−i​ }对于每个i(1iN)i(1≤i≤N)成立

对于A=(A1,A2,,AN)A=(A_1,A_2,…,A_N),可以按照以下规则执行零次或多次此操作:

  • 选择AiA_i中武商值(Ax,Ay)(A_x,A_y),并用AyA_y替换AiA_i中所有的AxA_x

问至少需要多少次以上运算才能使士兵AA成为回文?

输入格式

第一行一个整数NN

第二行NN个整数AiA_i,空格隔开

输入格式

一个整数

样例

8
1 5 3 2 5 2 3 1
2

样例解释

  • 开始士兵武商值A=(1,5,3,2,5,2,3,1)A=(1,5,3,2,5,2,3,1)
  • 第一次用2替换AA中的3之后,我们得到A=(1,5,2,2,5,2,2,1)A=(1,5,2,2,5,2,2,1)
  • 第二次用5替换AA中的2之后,我们得到A=(1,5,5,5,5,5,5,1)A=(1,5,5,5,5,5,5,1)

这样,我们可以通过两次运算使AA成为回文,这是所需的最小操作次数

7
1 2 3 4 1 2 3
1
1
200000
0

样例解释

AA一开始已经是一个回文

数据范围

  • 所有输入的数都是整数
  • 1N2×1051≤N≤2×10^5
  • 1Ai2×1051≤A_i​≤2×10^5