问题 6138 --分割数列(二)

6138: 分割数列(二)

题目描述

给定一个长度为 $n$ 的序列 $a_1,a_2,\dots,a_n$。我们可以将它分割成任意多段,每一段可以有任意多个数字。 定义每一段数字的冲突值,为 $k^2$,其中 $k$ 为这一段数字的种类数量。 请问,该如何分段,才能使该数列的冲突值之和最小?

输入

输入共两行 第一行,一个正整数$n$ 第二行,$n$个正整数,分别表示$a_1,a_2,...,a_n$

输出

输出共一行,一个正整数表示数列最小权重值

样例输入输出

输入#1 复制
10
1 2 1 1 2 1 3 4 2 2
输出#1 复制
7

提示

+ 对于 $30\%$ 的数据,$n\leq 100$ + 对于 $60\%$ 的数据,$n\leq 5000$ + 对于 $100\%$ 的数据,$1\leq n\leq 50,000$ + $1\leq a_i\leq n$ 样例1说明:{1,2,1,1,2,1},{3},{4},{2,2} 按此分法: 第一段权重为2*2=4 后面三段权重为1*1=1
序号 标题 作者 发表时间 费用 订购数 操作