Loading

SGU495 Kids and Prizes 期望 概率 DP

有n个盒子,每个盒子里面有一个披萨,现在进行m次放回的等概率拿取,若某一次拿到的盒子里有披萨就拿走披萨,但是空盒子仍然放回,问最后拿到披萨数目的期望数

 

由于正向考虑需要计算放回 ,故反向考虑 。 

对于每个盒子而言,m次操作不被选中的概率是 (1 - 1/ n ) ^ m ,对于每个盒子而言,m次操作被选中的概率就是 1  - (1 - 1/n )^m 。由期望的线性递推公式

E = n * (1  - (1 - 1/n )^m ) 。

故可以O1 解决

int main() {
    double n, m;
    scanf("%lf%lf", &n, &m);
    double p = 1 - pow((n - 1) / n, m);
    printf("%.10f", n * p);
}

 

posted @ 2020-07-11 00:36  MQFLLY  阅读(122)  评论(0编辑  收藏  举报