题目描述
对于一个序列,若存在一组$(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$
输出
输出分段后,最少的冲突次数之和
样例输入输出
输入#2
复制
10 2
2 3 2 3 2 3 2 3 2 3
提示
对于$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