zoukankan      html  css  js  c++  java
  • 杭电多校2020第7场-E Expectation

    期望yy题

    有一种做法:枚举每个球滚到哪个坑里,算出其概率,再乘上球到这个坑的距离,把结果相加。

    但是你会发现,这样子很难处理,而且有许许多多复杂的情况。

    我们换一个角度:对于每一个(i)(i+1)之间的线段,我们算其被经过的期望次数

    手玩一会儿不难发现有如下结论:

    对于一条线段,如果其左边为洞,右边为球,那么肯定是右边的球先经过这条线段,再左边的球经过,再右边的经过……如此反复。

    如果其右边为洞,左边为球,那么肯定是左边的球先经过,再右边的,再左边的……如此反复。

    然后,还有一个这样显而易见的结论:任何时候任意两个球之间都存在洞

    于是,不难设计一个dp。

    (dp[l][r][0/1])表示左边有(l)个未进洞的球,右边有(r)个未进洞的球,此时应该是右边/左边的球经过这条线段,这条线段被经过的期望次数。

    至于转移,有一下三种情况(以第3维为0为例):

    1.让一个左边的球进洞,概率为(frac{l}{l+r}),此时选的球不可能经过此线段,因此这一部分为(frac{l}{l+r}cdot dp[l-1][r][0])

    2.让一个右边的球进洞,并且经过此线段。不难发现,右边仅有最靠近这个洞的球并且方向选对才可以进洞,此时概率为(frac{r}{l+r}cdot frac{1}{r}cdot frac{1}{2}=frac{1}{2(l+r)}),那么这一部分为(frac{1}{2(l+r)}cdot left(dp[l][r-1][1]+1 ight))

    3.让一个右边的球进洞,并且不经过此线段。此时概率为(frac{r}{l+r}-frac{1}{2(l+r)}=frac{r-frac{1}{2}}{l+r}),这一部分为(frac{r-frac{1}{2}}{l+r}cdot dp[l][r-1][0])

    所以,

    [dp[l][r][0]=frac{l}{l+r}cdot dp[l-1][r][0]+frac{1}{2(l+r)}cdot left(dp[l][r-1][1]+1 ight)+frac{r-frac{1}{2}}{l+r}cdot dp[l][r-1][0] ]

    第3维为1同理。

    最后,答案即为

    [Ans=sum_{i=1}^{n}(x_{2i}-x_{2i-1})cdot dp[i-1][n-i+1][0]+(x_{2i+1}-x_{2i})cdot dp[i][n-i][1] ]

  • 相关阅读:
    [UE4]roll pitch yaw
    [UE4]用向量表示方向
    [UE4]关闭自动曝光
    Mysql数据库常用分库和分表方式
    mycat分库分表 mod-long
    windows安装mycat(转)
    Mycat读写分离、主从切换学习(转)
    Windows版Mycat结合mysql安装配置+水平切分(转载)
    数据库高性能读写分离集群操作说明
    spring MVC、mybatis配置读写分离,ReplicationDriver(转载)
  • 原文地址:https://www.cnblogs.com/SillyTieT/p/13505484.html
Copyright © 2011-2022 走看看