CF868F.Yet Another Minimization Problem
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array of n integers a1... an . The cost of a subsegment is the number of unordered pairs of distinct indices within the subsegment that contain equal elements. Split the given array into k non-intersecting non-empty subsegments so that the sum of their costs is minimum possible. Each element should be present in exactly one subsegment.
输入格式
The first line contains two integers n and k ( 2<=n<=105 , 2<=k<=min (n,20)) — the length of the array and the number of segments you need to split the array into.
The next line contains n integers a1,a2,...,an ( 1<=ai<=n ) — the elements of the array.
输出格式
Print single integer: the minimum possible total cost of resulting subsegments.
输入输出样例
输入#1
7 3 1 1 3 3 3 2 1
输出#1
1
输入#2
10 2 1 2 1 2 1 2 1 2 1 2
输出#2
8
输入#3
13 3 1 2 2 2 1 2 1 1 1 2 2 1 1
输出#3
9
说明/提示
In the first example it's optimal to split the sequence into the following three subsegments: [1] , [1,3] , [3,3,2,1] . The costs are 0 , 0 and 1 , thus the answer is 1 .
In the second example it's optimal to split the sequence in two equal halves. The cost for each half is 4 .
In the third example it's optimal to split the sequence in the following way: [1,2,2,2,1] , [2,1,1,1,2] , [2,1,1] . The costs are 4 , 4 , 1 .