#iai19a3. 冲突分段(Conflict Segmentation)
冲突分段(Conflict Segmentation)
冲突分段(Conflict Segmentation)
题目描述
对于一个序列,若存在一组 使得 且 ,我们称这两个数字之间产生了一次冲突。
现给定一个序列 ,请将它分割为 段,使得每一段内部的冲突次数之和最小。
输入格式
第一行:两个整数 和 ,表示序列长度与需要分的段数
第二行: 个整数分别表示
输出格式
输出分段后,最少的冲突次数之和
样例输入 #1
5 2
3 5 3 1 4
样例输出 #1
0
说明: 序列分为 [3 5] [3 1 4],没有冲突
样例输入 #2
10 2
2 3 2 3 2 3 2 3 2 3
样例输出 #2
8
说明: 序列分为 [2 3 2 3 2] , [3 2 3 2 3] ,两段内部冲突数均为 4
题目来源: 改编自 CF868F Yet Another Minimization Problem
数据范围
- 对于 30% 的数据,
- 对于 60% 的数据,
- 对于 100% 的数据,,,
知识点与难度
本题涉及的知识点从属于 GESP 7级,难度等级:⭐⭐⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 n≤20 |
| 2 | 15 | 9~11 | Hack: k=1 / k=n / 全同值 |
| 3 | 30 | 12~20 | 中大规模 n≈1000~100000 |
| 4 | 25 | 21~25 | 随机回归 |