#59. 「2023 新疆省赛」采矿

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: woruo

题目描述

oldherd 是一名矿工。为了激励他工作,除了基础工资以外,老板还会将他采矿的一部分收益作为提成给予奖励。因此,oldherd 需要制定一个详细的计划,来确保他的总酬金(基础工资加上提成)具有最大化的期望。

形式化地来讲,在 天中,每一天 oldherd 都可以选择做矿工或者旷工。我们定义 为截止第 天结束时的挖矿收益。初始时,。如果在第 天选择采矿,将会使挖矿收益增加 ,即 。如果选择旷工,则挖矿收益不变,即 。

但是采矿是一项极具危险性的工作。在第 天时,有 的概率发生矿难。如果在第 天发生矿难,且在这一天 oldherd 选择了下矿,即便他拥有(鹿目)圆神的护佑,不会受伤。但在这一天结束时,过去累积的挖矿收益会全部清空,即 。由于不会受伤,他之后的每天依然可以选择去采矿。

老板毕竟是老板,他会等概率地选择 天中的 天时间,在这 天中他会派人来矿上监工。如果 oldherd 在老板派人来监工的任意一天中选择了旷工,oldherd 就会被开除,且被扣除全部酬金。

反之,如果 oldherd 旷工的每一天都没有被发现,他就可以顺利获得老板给出的基础工资 和第 天结束时挖矿收益的 ,即 作为总酬金。

现在一切都还没有发生,oldherd 预测了老板会来监工的天数 ,但不知道老板具体会哪天来监工。所谓富贵险中求,他想让你为他制定一个最优计划,提前决定好 天中的每一天是否采矿,并最大化总酬金的期望。

你需要对于所有的 ,输出最优方案下的期望总酬金 。

输入格式

输入的第一行为两个空格分隔的非负整数 和 ,分别表示工作天数和基础工资。

第二行 个空格分隔的非负整数 ,含义如题目描述中所示。

第三行 个空格分隔的非负整数 ,表示第 天发生矿难的概率为 。

输出格式

输出 行,每行一个实数,分别表示 。

当且仅当与标准答案的相对误差或绝对误差不大于 时,你的答案被视为正确。

样例

样例输入

3 0
1 1 1
10 900 100

样例输出

0.358200000
0.238800000
0.215820000
0.215820000