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