#iai22a2. 排版问题(Typesetting Problem)
排版问题(Typesetting Problem)
排版问题(Typesetting Problem)
题目描述
由于英文单词长短不一,对一篇文章进行排版的时候,要考虑均衡控制每行长度,达到整齐美观的效果。
给定一个整数 ,再给定 个整数 ,表示有一篇文章,共有 个单词,其中第 个单词有 个字母。
请为这篇文章的单词断行,整篇文章尽量美观,偏离度到达最小。
整篇文章的偏离度为每一行偏离度的和。单独一行的偏离度定义为 ,其中 为一个给定的标准长度, 为这一行单词的字母数量之和。
输入格式
- 第一行:两个整数 与 ;
- 第二行: 个整数 。
输出格式
- 单个整数:表示最小的排版偏离度。
样例输入 #1
10 20
8 9 4 5 7 3 4 9 9 3
样例输出 #1
3
样例说明 #1
| 8 9 4 | 5 7 3 4 | 9 9 3 |
每行之和分别为21、19、21,偏离度为 。
样例输入 #2
7 10
3 5 1 3 4 6 4
样例输出 #2
8
数据范围
- ;
- ;
- 对于 30% 的数据:;
- 对于 60% 的数据:;
- 对于 100% 的数据:。
知识点与难度
本题涉及的知识点从属于 GESP 8级(斜率优化动态规划),难度等级:⭐⭐⭐⭐。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 N≤200 / 特殊: 全同长度 / 特殊: A极大一行容纳 / 特殊: A极小逐词一行 |
| 2 | 15 | 9~11 | Hack: N=1边界 / Hack: 大数值溢出 / Hack: 交替大小词 |
| 3 | 30 | 12~20 | 中规模 N≈1000~5000 / 大规模 N≈1e5~2e5 压力 |
| 4 | 25 | 21~25 | 随机 N=1~2e5 回归 |