102904: [Atcoder]ABC290 E - Make it Palindrome

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:2 Solved:0

Description

Score : $500$ points

Problem Statement

For a sequence $X$, let $f(X) =$ (the minimum number of elements one must modify to make $X$ a palindrome).

Given a sequence $A$ of length $N$, find the sum of $F(X)$ over all contiguous subarrays of $A$.

Here, a sequence $X$ of length $m$ is said to be a palindrome if and only if the $i$-th and the $(m+1-i)$-th elements of $X$ are equal for all $1 \le i \le m$.

Constraints

  • All values in the input are integers.
  • $1 \le N \le 2 \times 10^5$
  • $1 \le A_i \le N$

Input

The input is given from Standard Input in the following format:

$N$
$A_1$ $A_2$ $\dots$ $A_N$

Output

Print the answer as an integer.


Sample Input 1

5
5 2 1 2 2

Sample Output 1

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

Therefore, the sought answer is $9$.

Input

题意翻译

对于一个序列 $X$,我们设函数 $f(X)$ 表示将 $X$ 修改为回文串需要修改的数的数量。 现在,给定一个长度为 $N$ 的序列 $A$,问 $A$ 的所有连续的子序列(也就是子串)的 $f(X)$ 的值的和

Output

分数:500分

问题描述

对于一个序列$X$,令$f(X)=$(将$X$变为回文串所需的最少元素修改次数)。

给定一个长度为$N$的序列$A$,求$A$的所有连续子数组的$f(X)$之和。

在这里,长度为$m$的序列$X$被称为回文串,当且仅当$X$的第$i$个元素和第$(m+1-i)$个元素对于所有$1 \le i \le m$都相等。

约束

  • 输入中的所有值都是整数。
  • $1 \le N \le 2 \times 10^5$
  • $1 \le A_i \le N$

输入

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

$N$
$A_1$ $A_2$ $\dots$ $A_N$

输出

将答案输出为整数。


样例输入 1

5
5 2 1 2 2

样例输出 1

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

因此,所求答案为$9$。

加入题单

上一题 下一题 算法标签: