A93904.Alice 的分段游戏

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 nn 的序列 a1,a2,,ana_1,a_2,\dots,a_n(元素为正整数)。你需要把它划分成恰好 kk 个连续非空段,设第 tt 段为区间 [Lt,Rt][L_t,R_t],并定义一段的代价为:

cost(L,R)=x(#{i[L,R]ai=x}2).\mathrm{cost}(L,R)=\sum_{x}\binom{\#\{\, i\in[L,R]\mid a_i=x \,\}}{2}.

也就是说,在同一段中,每个数的出现次数为 cc 就会贡献 (c2)\binom{c}{2} 的代价。请最小化 kk 段代价之和:

mint=1kcost(Lt,Rt),\min \sum_{t=1}^{k}\mathrm{cost}(L_t,R_t),

并输出该最小值。

输入格式

  • 第一行两个整数 n,kn,k
  • 第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

输出格式

输出一个整数,表示最小总代价。

输入输出样例

  • 输入#1

    5 2
    1 2 1 2 1

    输出#1

    1
  • 输入#2

    6 3
    1 1 1 2 2 3

    输出#2

    1

说明/提示

数据范围

  • 1n2×1051\le n\le 2\times 10^5
  • 1kmin(n,20)1\le k\le \min(n,20)
  • 1ai2×1051\le a_i\le 2\times 10^5
  • 答案不超过 26312^{63}-1(使用 64 位有符号整数即可)。

测试点与数据范围

测试点 规模约束
161\sim 6 n2×104, k10n\le 2\times 10^4,\ k\le 10
7207\sim 20 n2×105, k20n\le 2\times 10^5,\ k\le 20

样例解释

  • 样例一 : 解释:一种最优分法是 [1,2,1]  [2,1][1,2,1]\ |\ [2,1]。第一段中 11 出现 11 次贡献 11,第二段中没有重复对,总代价为 11

  • 样例二: 解释:可分为 [1,1]  [1,2]  [2,3][1,1]\ |\ [1,2]\ |\ [2,3],总代价 11

首页