【洛谷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; }