Time Limit: 1000 ms   Memory Limit: 256 MB

Description


题解

状态表示:

  这题的状态表示有点难想......

  设$f_i$表示第$i$个事件经过之后,到达终点之前,不再回到事件$i$或事件$i$的左边的概率,反过来说就是可以在右边乱绕,若事件$i$的位置为pos,“右边”指的就是$(pos,h]$。

  我们将第$i$个事件到第$i+1$个事件中间这一段路程记为$S_i$,那么期望经过$S_i$的次数就为$1/f_i$。

  为什么是$1/f_i$呢?具体来说,只在右边乱绕,最左也只能到达$i+1$;一旦跨越到i或i的左边位置,那么S就必须要被经过了。所以$f_i$越小,被踢到左边或起点的概率就越大,经过$S_i$的概率和期望也就越大。


Orzhy Orzyww Orzyxq

状态转移:

  我们来反向转移嘿。

  考虑$f_i$,我们应该从$f_i+1$得到。

  我们令$p_i$为第$i$个事件的成功概率(获得Flag或打败敌人的概率)。

  •   如果$i+1$个事件是一个敌人,那么

      $f_i=f_{i+1}*p_{i+1}$

  •   如果$i+1$个事件是一面FLAG,那么

      $f_i=f_{i+1}+(1-f_{i+1})*p_{i+1}*f_{i+1}+((1-f_{i+1})*p_{i+1})^2*f_{i+1}+...+((1-f_{i+1})*p_{i+1})^k*f_{i+1}$

         $=f_{i+1}*(1+p_{i+1}*(1-f_{i+1})+p_{i+1}^2*(1-f_{i+1})^2+...+p_{i+1}^k*(1-f_{i+1})^k)$

      ${k\to\infty}$

       可以运用极限等式的求法可以将极限部分转换为下式的分母:

         $f_i=\frac{f_{i+1}}{(1-p_{i+1}*(1-f_{i+1}))}$

      这是什么意思呢?

     看回第一个式子,$(1-f_{i+1})$的意思是被弹回i+1或i+1的左边,$p_{i+1}$的意思是被$i+1$这个旗子留住,$f_{i+1}$的意思是从$i+1$一路走到终点的概率。

     $(1-f_{i+1})*p_{i+1}*f_{i+1}$意思是按下图的1-2-3顺序执行

     同理,$((1-f_{i+1})*p_{i+1})^2*f_{i+1}$表示1-2-1-2-3,$((1-f_{i+1})*p_{i+1})^3*f_{i+1}$表示1-2-1-2-1-2-3,以此类推即可。

     计算时所有除法转为逆元,记得%多一点(记8.17)

      

最新文章

  1. 克隆虚机网卡出现 Device eth0 does not seem to be present, delaying initialization 错误
  2. c#基础-类型基础深入了解
  3. Windows Phone:自定义字体在xaml和代码中使用
  4. JavaScript的事件对象_键盘事件
  5. C++中静态数据成员
  6. JAVA小项目之摇奖机
  7. ZOJ3578(Matrix)
  8. oracle重新启动步骤
  9. jmeter问题处理随笔1 - 自动遍历用例(一次)
  10. 吾八哥学Python(二):Python代码编辑器的选用
  11. 使用nginx 的反向代理 给 kibana加上basic的身份认证
  12. Python输入语句
  13. JavaScript使用childNodes和children
  14. js固定底部菜单
  15. Redis服务器搭建/配置/及Jedis客户端的使用方法
  16. ORM------多表操作
  17. [python][odlboy]设置字符串打印的颜色
  18. Swift-属性监听
  19. 【三小时学会Kubernetes!(一) 】容器简介及为每个服务创建镜像
  20. Siki_Unity_1-3_Unity零基础入门_古迹探险

热门文章

  1. visual Studio 2017 扩展开发(一)《向Visual Studio菜单栏新增一个菜单》
  2. kali ssh服务连接问题,无法远程管理
  3. xdu_1064:Desolator in RA2
  4. 函数响应式编程及ReactiveObjC学习笔记 (二)
  5. bash脚本基础
  6. Struts2简诉
  7. Eclipse修改背景保护色及变量、方法的高亮
  8. HDOJ-2009 求数列的和
  9. ubuntu下处理mysql无法启动故障一例
  10. 小程序server-实现会话层