【洛谷P3802】小魔女帕琪 题解(概率期望)

前言:蒟蒻太弱了,不会推式子QAQ

--------------------

题目链接

题目大意:给定$7$种能量晶体各$a_i$个,每次随机摸到一个晶体,如果连续摸到$7$个不同的晶体就会触发一次伤害。问触发伤害次数的期望。

推一波式子。

设$N=\sum \limits_{i=1}^7 a_i$

考虑前7个触发伤害的概率:$p=\frac{a_1}{N}*\frac{a_2}{N-1}*\frac{a_3}{N-2}*\frac{a_4}{N-3}*\frac{a_5}{N-4}*\frac{a_6}{N-5}*\frac{a_7}{N-6}$

我们发现,不论我们取得顺序是怎样的,其分子和分母都不变。所以对答案的总贡献是$p*7!$。

同样,在前$N-6$个位置都有机会触发伤害,所以答案就是$(N-6)*7!*p$。

如果$N<7$的话,根本构不成伤害,直接输出$0.000$。

代码:

#include<bits/stdc++.h>
using namespace std;
int a[8],sum;
double ans=1.0;
int main()
{
    for (int i=1;i<=7;i++) cin>>a[i],sum+=a[i];
    if (sum<7){
        printf("0.000");
        return 0;
    }
    for (int i=1;i<=7;i++) ans=ans*(double)a[i]/(double)(sum-i+1);
    printf("%.3lf",ans*1.0*2.0*3.0*4.0*5.0*6.0*7.0*(double)(sum-6));
    return 0;
}

 

posted @ 2020-07-14 07:46  我亦如此向往  阅读(102)  评论(0编辑  收藏  举报