#aBC290E. [ABC290E] Make it Palindrome

[ABC290E] Make it Palindrome

AT_abc290_e [ABC290E] Make it Palindrome

题目描述

对于一个数列 XX,定义 f(X)f(X) 为:将 XX 变为回文数列所需修改的元素个数的最小值。

给定一个长度为 NN 的数列 AA,请计算所有 AA连续子序列 XXf(X)f(X) 之和。

这里,长度为 mm 的数列 XX 是回文数列,当且仅当对于所有满足 1im1 \le i \le m 的整数 iiXX 的第 ii 项与第 m+1im+1-i 项相等。

输入格式

输入以如下格式从标准输入给出。

NN A1A_1 A2A_2 \dots ANA_N

输出格式

请输出答案的整数值。

输入输出样例 #1

输入 #1

5
5 2 1 2 2

输出 #1

9

说明/提示

限制条件

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

样例解释 1

  • f(5)=0f(5) = 0
  • f(2)=0f(2) = 0
  • f(1)=0f(1) = 0
  • f(2)=0f(2) = 0
  • f(2)=0f(2) = 0
  • f(5,2)=1f(5,2) = 1
  • f(2,1)=1f(2,1) = 1
  • f(1,2)=1f(1,2) = 1
  • f(2,2)=0f(2,2) = 0
  • f(5,2,1)=1f(5,2,1) = 1
  • f(2,1,2)=0f(2,1,2) = 0
  • f(1,2,2)=1f(1,2,2) = 1
  • f(5,2,1,2)=2f(5,2,1,2) = 2
  • f(2,1,2,2)=1f(2,1,2,2) = 1
  • f(5,2,1,2,2)=1f(5,2,1,2,2) = 1

综上,所求答案为 99

由 ChatGPT 4.1 翻译