Oj.Nbdp.Net
初赛题库
问题
状态
排名
团队
题解
课程
Login
问题 5138 --箱子
5138: 箱子
警告!
题目
状态
题解
题目描述
小爱是一名工厂的调度员。在流水线上,会陆续运来 $n$ 个箱子,每个箱子都有一个型号,型号共有 $26$ 种,型号以大写的英文字母 `A` 到 `Z` 为编号。 小爱需要将这些箱子从流水线上装卸下来,分成 $k$ 条队列存放。摆放的规则如下: 1. 每个箱子可以摆放到任意一条队列上。 2. 队列可长可短,没有限定每个队列最少或最多摆放多少箱子,有些队列可以一直空着。 3. 箱子必须按照流水线上的顺序摆放,先到的箱子必须放在队列的前面。 小爱注重的是队列的美观度。她希望同一条队列中相邻的箱子尽量是同一类型的,请问你能帮她寻找一个最美观的摆放方案么? 给定一个字符序列 $a_1a_2\cdots a_n$,请将它分解成 $k$ 或小于 $k$ 个子序列,使得所有子序列的**差异值**之和最小。 一个序列的**差异值**定义为该序列中出现的,连续由单个字符构成的子串数量,例如序列 `AAABAA`=`AAA+B+AA`,**差异值**为 $3$:
输入
第一行:两个整数表示 $n$ 和 $k$; 第二行:$n$ 个大写英文字母表示 $a_1a_2\cdots a_n$。
输出
单个整数:表示子序列的**差异值**总和的最小值。
样例输入输出
输入#1
复制
6 2 ABCABC
输出#1
复制
4
提示
+ 对于 $30\%$ 的数据,$1\leq n\leq 15$,$1\leq k\leq 3$; + 对于 $60\%$ 的数据,$1\leq n\leq 100$,$1\leq k\leq 4$; + 对于 $100\%$ 的数据,$1\leq n\leq 150$,$1\leq k\leq 5$。 样例1说明:两条队列分别为AAB和BCC
发表题解
序号
标题
作者
发表时间
费用
订购数
操作
题目信息
提交
难度
未评定
标签
点击显示
if ($pr_flag) { ?>
递交数
1
已通过
0
} ;?>
通过率
0%
时间限制
1 秒
内存限制
256 MB
来源
YACS2020年6月月赛甲组
收藏
标签云
模拟
数学与数论
动态规划
贪心
字符串
排序
枚举
数组与串
深搜
高精度
循环结构
递推
递归
二分三分
宽搜
背包
质数
线段树
分治
N进制
图论
队列
最短路
堆
树
并查集
栈
状态压缩
分支结构
几何
博弈论
生成树
顺序结构
离散化
hash表
位运算
单调队列
树状数组
KMP
字典树
二分图
数学期望
AC自动机
树链剖分
差分约束
数位动态规划
函数与过程
网络流
单调栈
前缀和