3806: 群星(第六轮04)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

你和一群朋友一起颓废。你打开了<<群星>>,开了一局游戏,打开看海模式。游戏自动生   成了 n个文明,其中第 i个文明初始国力排名为 i。你们决定按照如下方式进行看海。

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

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

大样例:sample.zip

输入

第一行两个数字 n, k。

第二行 k  个数,第 i  个数代表 ai    。

输出

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

样例输入 复制

3 3
1 0 0

样例输出 复制

2.00000 
1.33333 
2.66667

提示

备注】

本题采用 SPJ2T,你的答案和标准答案差距不大于  10−5    即可。 

对于 20%  的数据,满足 n, k, ai  ≤ 3

对于 60%  的数据,满足 n, k ≤ 50, ∑ai  ≤ 10000

对于  100%  的数据,满足 n ≤ 50, k ≤ 50,0 ≤ ai  ≤ 10^7, k ≤ n

来源/分类