一共有 77 种元素,每种元素有 a[i]a[i] 个,求期望取77 个不同元素的次数

66

首先这是条件概率,对于ii 来说期望就是 isumΠ(elsesum)\frac{i}{sum}*\Pi(\frac{else}{sum'})

其中 sumsum' 每次要减一,因为取出了一个元素

只考虑1 2 3 4 5 6 71~2~3~4~5~6~7 这种情况概率就是

a1sum×a2sum1×...×a7sum6\frac{a_1}{sum}\times\frac{a_2}{sum-1}\times...\times\frac{a_7}{sum-6}

与此同时,乘上 7!7! 此外还要乘上sum6sum-6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<cstring>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>
#include<algorithm>
#include<iomanip>

using namespace std;

double ans=1.0;

int sum=0,a[10];

int main()
{
ios::sync_with_stdio(false);
register int i,j;
for(i=1;i<=7;i++) cin>>a[i],sum+=a[i];
ans=7*6*5*4*3*2.0;
for(i=1;i<=6;i++) ans*=(a[i])/((double)(sum+1-i));
ans*=a[7];
cout<<fixed<<setprecision(4)<<ans<<endl;
return 0;
}