题号:NC263970
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
oldherd 是一名矿工。为了激励他工作,除了基础工资以外,老板还会将他采矿的一部分收益作为提成给予奖励。因此,oldherd 需要制定一个详细的计划,来确保他的总酬金(基础工资加上提成)具有最大化的期望。
形式化地来讲,在

天中,每一天 oldherd 都可以选择做矿工或者旷工。我们定义
%7D)
为截止第

天结束时的挖矿收益。初始时,
%7D%3D0)
。如果在第

天选择采矿,将会使挖矿收益增加

,即
%7D%20%5Cgets%20X%5E%7B(i-1)%7D%20%2B%20a_i)
。如果选择旷工,则挖矿收益不变,即
%7D%20%5Cgets%20X%5E%7B(i-1)%7D)
。
但是采矿是一项极具危险性的工作。在第

天时,有

的概率发生矿难。如果在第

天发生矿难,且在这一天 oldherd 选择了下矿,即便他拥有(鹿目)圆神的护佑,不会受伤。但在这一天结束时,过去累积的挖矿收益会全部清空,即
%7D%20%5Cgets%200)
。由于不会受伤,他之后的每天依然可以选择去采矿。
老板毕竟是老板,他会等概率地选择

天中的

天时间,在这

天中他会派人来矿上监工。如果 oldherd 在老板派人来监工的
任意一天中选择了旷工,oldherd 就会被开除,且被扣除全部酬金。
反之,如果 oldherd 旷工的每一天都没有被发现,他就可以顺利获得老板给出的基础工资

和第

天结束时挖矿收益的

,即
%7D)
作为总酬金。
现在一切都还没有发生,oldherd 打算让你为他制定一个最优计划,提前决定好

天中的每一天是否采矿,并最大化总酬金的期望。
由于 oldherd 并不能确定老板会有多少天派人来监工,你需要对于所有的

,输出最优方案下的期望总酬金
![E_{\max}^{(k)}\left[C + \frac{1}{5}X^{(n)}\right]](https://www.nowcoder.com/equation?tex=E_%7B%5Cmax%7D%5E%7B(k)%7D%5Cleft%5BC%20%2B%20%5Cfrac%7B1%7D%7B5%7DX%5E%7B(n)%7D%5Cright%5D)
。
输入描述:
输入的第一行为两个空格分隔的非负整数
和
,分别表示工作天数和基础工资。
第二行
个空格分隔的非负整数
,含义如题目描述中所示。
第三行
个空格分隔的非负整数
,表示第
天发生矿难的概率为
。
输出描述:
输出
行,每行一个实数,分别表示
。
当且仅当与标准答案的相对误差或绝对误差不大于
时,你的答案被视为正确。
示例1
输出
复制
0.358200000
0.238800000
0.215820000
0.215820000