题解 P3802 【小魔女帕琪】
AlanSP
·
·
题解
萌新第一次写期望题解,求过qwq。
感觉题解里大佬写的太强了,这里我也来发表一下个人的见解。
令S=\sum_{i=1}^7a_i
设施展一次帕琪七重奏的概率为P(A),那么很显然有:
P(A)=\frac{a_1}S*\frac{a_2}{S-1}*\frac{a_3}{S-2}*\frac{a_4}{S-3}*\frac{a_5}{S-4}*\frac{a_6}{S-5}*\frac{a_7}{S-6}
但我们发现,每一次可以从任意的元素开始,所以内部的顺序是随机的,这就构成了7的排列,即7!。
P(A)=7!*\frac{a_1}S*\frac{a_2}{S-1}*\frac{a_3}{S-2}*\frac{a_4}{S-3}*\frac{a_5}{S-4}*\frac{a_6}{S-5}*\frac{a_7}{S-6}
在这个题中,我们可以发现E(A)=P(A),这就具有了很好的性质,因为期望是具有线性可加性的,即:
E(A+B)=E(A)+E(B)
我们就可以得到总共的期望【设为E(M)】为:
E(M)=7!*\frac{a_1}S*\frac{a_2}{S-1}*\frac{a_3}{S-2}*\frac{a_4}{S-3}*\frac{a_5}{S-4}*\frac{a_6}{S-5}*\frac{a_7}{S-6}
+7!*\frac{a_1-1}{S-6}*\frac{a_2-1}{S-7}*\frac{a_3-1}{S-8}*\frac{a_4-1}{S-9}*\frac{a_5-1}{S-10}*\frac{a_6-1}{S-11}*\frac{a_7-1}{S-12}+\dots
这样的式子看起来很不可化简(其实我也不会化)。
但我们可以从它的本身含义入手。
每次加一次P(A),相当于在上一次选出的7个数后面补上7个数。
也就是说我们相当于在造一个很长的链:
1,2,3,4,5,6,7,1,2,3,4\dots
(当然这只是其中一个例子。)
我们会发现,从其中任意截取一个点向后延伸7位,都构成一个完整的1~7的排列。
而一共能截多少个呢?
不难发现除了最后6个不行,其他都行。
故为S-6个。
所以最终答案为:
E(M)=(S-6)*7!*\frac{a_1}S*\frac{a_2}{S-1}*\frac{a_3}{S-2}*\frac{a_4}{S-3}*\frac{a_5}{S-4}*\frac{a_6}{S-5}*\frac{a_7}{S-6}
=7!*\frac{a_1}S*\frac{a_2}{S-1}*\frac{a_3}{S-2}*\frac{a_4}{S-3}*\frac{a_5}{S-4}*\frac{a_6}{S-5}*a_7
直接做就行(7!=5040):
#include<bits/stdc++.h>
using namespace std;
double a[8],ans=1,sum;
int main()
{
for(int i=1;i<=7;i++) scanf("%lf",&a[i]),sum+=a[i];
for(int i=1;i<=6;i++)
{
ans*=a[i];
ans/=(sum-i+1);
}
ans*=5040;
ans*=a[7];
printf("%.3lf",ans);
return 0;
}