问题 5543 --分段

5543: 分段

题目描述

对于一个序列,若存在一组$(i,j)$使得$i\neq j$且$a_i=a_j$,我们称这两个数字之间产生了一次冲突。 现给定一个整数序列 $a_1,a_2,\cdots,a_n$,请你将它分割为 $k$ 段,使得每一段内部的冲突次数之和最小。

输入

第一行:两个整数 $n$ 和 $k$,表示序列长度与需要分的段数 第二行:$n$ 个整数分别表示 $a_1,a_2,...,a_n$

输出

输出分段后,最少的冲突次数之和

样例输入输出

输入#1 复制
5 2
3 5 3 1 4
输出#1 复制
0
输入#2 复制
10 2
2 3 2 3 2 3 2 3 2 3
输出#2 复制
8

提示

对于$30\%$的数据,$1 \leq k \leq n \leq 1000$ 对于$60\%$的数据,$1 \leq k \leq n \leq 10000$ 对于$100\%$的数据,$1 \leq n\leq 10^5$,$k\leq 20$,$1\le a_i\le n$ 样例1说明:将序列分为[3 5] , [3 1 4],此时没有任何冲突 样例2说明:将序列分为[2 3 2 3 2] , [3 2 3 2 3] ,此时,两段内部的冲突次数均为4,和为8
序号 标题 作者 发表时间 费用 订购数 操作