S42203.22-3 撷取核心

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

22-3 撷取核心

撷取核心

信号接收到了,但核心还在深处——一个被概率守护的核心。

"核心?"CC问。

"对。"你说,"一个核心,被nn层保护。每层有一个概率pip_i,表示突破该层的概率。"

"突破?"

"对。"你说,"逐层尝试。如果某层失败,从头再来。"

"期望?"

"求突破所有层的期望尝试次数。"

"咋算?"

"递推。"你说,"设EiE_i为从第ii层开始的期望次数。"

"EiE_i?"

"对。"你说,"Ei=1+pi×Ei+1+(1pi)×E1E_i=1+p_i\times E_{i+1}+(1-p_i)\times E_1。"

"啥意思?"

"每次尝试,花1次。成功概率pip_i,进入下一层;失败概率1pi1-p_i,回到第一层。"

"第47层。"你说,"p47=0.47p_{47}=0.47。"

"难吗?"

"看前面的层。"你说,"如果前面层概率高,快速通过;如果低,经常重来。"

"像爬山?"

"对。"你说,"像爬山——滑下来,再爬。"

"累吗?"

"累。"你说,"但期望告诉我们,平均要爬多少次。"

"多少次?"

"解方程组。"你说,"nn个方程,nn个未知数,高斯消元。"

CC看着那些层——像台阶,像门槛,像某种必须一级一级跨过去的东西。

"跨过去。"她说,"一级一级。"

"对。"你说,"一级一级。"

"如果跨不过去?"

"再试。"你说,"期望告诉我们,最终会跨过去。"

Echo把核心的图像投射出来——一个光球,被层层保护,但仍然散发着温暖。

"以前我不敢碰。"她说,"怕碎。"

"现在呢?"

"现在想碰。"她说,"因为有你们在。"


题目描述

nn层保护,第ii层突破概率pip_i。逐层尝试,失败则回到第一层。求突破所有层的期望尝试次数。

输入格式

第一行nn。第二行nn个实数pip_i

输出格式

期望次数,保留3位小数。


输入样例

5

输出样例

17.187

提示

  • EiE_i为从第ii层开始的期望次数。
  • Ei=1+piEi+1+(1pi)E1E_i=1+p_iE_{i+1}+(1-p_i)E_1En+1=0E_{n+1}=0
  • 解线性方程组。

在线编程 IDE

建议全屏模式获得最佳体验