AT_abc332_e.[ABC332E] Lucky bag

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

AtCoder 社在在线商店销售周边商品。

现在,公司内还剩下 NN 个周边商品。第 ii 个商品的重量为 WiW_i。

高桥君打算将剩下的商品分成 DD 个福袋一起出售。
他希望让每个福袋中商品重量总和的方差最小。
设每个福袋中商品重量的总和分别为 x1,x2,…,xDx_1, x_2, \ldots, x_D,
它们的平均值为 xˉ=1D(x1+x2+⋯+xD)\bar{x} = \frac{1}{D}(x_1 + x_2 + \cdots + x_D),
方差定义为 V=1D∑i=1D(xi−xˉ)2V = \frac{1}{D}\displaystyle\sum_{i=1}^D (x_i - \bar{x})^2。

请你求出将商品分配到各个福袋,使得每个福袋中商品重量总和的方差最小的情况下,这个最小方差的值。
可以存在空的福袋(此时该福袋中商品重量总和视为 00),但
每个商品必须且仅能放入 DD 个福袋中的一个。

输入格式

输入以以下格式从标准输入读入。

NN DD W1W_1 W2W_2 …\ldots WNW_N

输出格式

输出将商品分配到各个福袋,使得每个福袋中商品重量总和的方差最小的情况下,这个最小方差的值。
当你的输出与真实值的绝对误差或相对误差不超过 10−610^{-6} 时,将被判定为正确。

输入输出样例

  • 输入#1

    5 3
    3 5 3 6 3

    输出#1

    0.888888888888889

说明/提示

限制条件

  • 2≤D≤N≤152 \leq D \leq N \leq 15
  • 1≤Wi≤1081 \leq W_i \leq 10^8
  • 所有输入均为整数

样例解释 1

将第 11、33 个商品放入第 11 个福袋,将第 22、55 个商品放入第 22 个福袋,将第 44 个商品放入第 33 个福袋,则各福袋中商品重量总和分别为 6,8,66, 8, 6。此时,平均值为 13(6+8+6)=203\frac{1}{3}(6+8+6)=\frac{20}{3},方差为 13{(6−203)2+(8−203)2+(6−203)2}=89=0.888888…\frac{1}{3}\left\{\left(6-\frac{20}{3}\right)^2+\left(8-\frac{20}{3}\right)^2+\left(6-\frac{20}{3}\right)^2\right\}=\frac{8}{9}=0.888888\ldots,这是最小值。
请注意,可能存在多个重量相同的商品,并且每个商品必须被分配到某个福袋。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页