题目 1791

太空飞船

查看题解 ↗GitHub ↗如何评测
题号
1791
时间限制
1000 ms
内存限制
256 MB
标签
动态规划
来源
信息学奥赛一本通 · 高手训练篇·五、动态规划(高手训练)

【题目描述】

小诚准备设计一艘环形的太空飞船,由NN个舱室顺序组成。第ii个舱室的设计长度为LiL_i。为了给飞船提供能量,要在飞船上装置KK个太空能量吸收器。 这些吸收器应该尽量均匀地分散在飞船表面。也就是说,小诚要把飞船所有NN个舱室划分成 KK个部分(每个部分包括连续一段舱室),并给每个部分配置一个能量吸收器。设第ii个部分舱室的长度之和为sis_i,则要令方差∑i=1k(si−savg)2\sum_{i=1}^{k}(s_i-s_{avg})^2 尽量小。其中savgs_{avg} 是KK个部分的平均长度。 可是,这个问题对于小诚来说太难了。你能否帮助他完成设计呢? 为方便起见,输出方差最小值与K的平方的乘积。

【输入】

第一行,两个整数 N,KN,K。 第二行,NN个整数L1,L2,…,LNL_1, L_2, …, L_N,由空格隔开。依次表示每个舱室的长度。

【输出】

输出一行,为一个整数,表示方差最小值与K2K^2的乘积。

【输入样例】

文本
5 2
4 2 6 1 3

【输出样例】

文本
0

【提示】

【输入样例2】

文本
5 3
4 2 6 1 3

【输出样例2】

文本
24

【样例解释】 第一组样例。要将飞船分为22段,最优划分方法为[26][134][2 6] [1 3 4]。 第二组样例。要将飞船分为33段,最优划分方法为[42][6][13][4 2] [6] [1 3]。 【数据规模】 本题一共有10 个测试点。 下表是每个测试点的数据规模:

#1 N=1000 K=2 #6 N=50 K=6
#2 N=100000 #7 N=100 K=7
#3 N=100 K=3 #8 N=200 K=10
#4 N=100000 #9 N=300 K=15
#5 N=300000 #10 N=400 K=20

对于100%的数据,1≤Li≤10001≤L_i≤1000。

文本
5 3\n4 2 6 1 3
文本
24

数据下载

题目 1791 的公开数据

正在读取文件列表…

常用命令

题目 1791 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。