#P15111. 群星

    ID: 16810 远端评测题 1500ms 512MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>动态规划 DPSpecial JudgeO2优化动态规划优化矩阵加速期望

群星

题目背景

你和一群朋友一起颓废。

题目描述

你打开了群星,开了一局游戏,打开看海模式。游戏自动生成了 nn 个文明,其中第 ii 个文明初始国力排名为 ii 。你们决定按照如下方式进行看海。

游戏分为 kk 个世纪,其中第 ii 个世纪会发生 aia_i 场战争,每一场战争会在 (n2)n \choose 2 对不同文明对中随机选一对,交换它们的排名。每个世纪刚开始时,大家会进行一次选文明操作,具体来说因为你是主人,你可以先选择是否在这回合选文明,如果是,则你选择任意一个尚未被选择的文明;否则恰有一个朋友会选择目前还没被选择的文明里排名第一的文明。文明选择完后不能更改(即你只可以在一个世纪初选择文明)。

讨论完规则之后,你对于选文明的最优策略很感兴趣。因此你打算编写程序对于所有 ii 计算你如果在第 ii 个世纪初选择文明,选择的文明最终期望的排名最小可以是多少。因为你不喜欢取模,你的答案只需要保留五位小数输出(多输出也没事)。

输入格式

第一行两个数字 n,kn,k

第二行 kk 个数,第 ii 个数代表 aia_i

输出格式

kk 行,每行输出内容如题意所述。

3 3
1 0 0
2.00000
1.33333
2.66667

提示

本题采用捆绑测试和 Special Judge,你的答案和标准答案差距不大于 10510^{-5} 即可。

对于 20%20\% 的数据,满足 n,k,ai3n ,k , a_i \leq 3

对于 60%60\% 的数据,满足 n,k50n,k \leq 50ai10000\sum a_i \leq 10000

对于 100%100\% 的数据,满足 n50,k50,0ai107n \leq 50 , k \leq 50 , 0 \leq a_i \leq 10^7,knk \leq n