Bluefissure's Blog

A Place for Recording

0%

HDU 5810 Balls and Boxes 公式 概率与统计

Balls and Boxes

2016 Multischool-Training-7-1002

题目连接

题意:

\(n\)个球随机扔到\(m\)个箱子中,求每个箱子中所放球\(X_i\)的方差的期望。 ### 思路:

推公式……

\[\begin{align}E(V)&=E(\frac { \sum _{ i=1 }^{ m }{ { ({ X }_{ i }-\overline { X } ) }^{ 2 } } }{ m } )\\ &=E({ ({ X }_{ i }-\overline { X } ) }^{ 2 })\\ &=E({ { X }_{ i } }^{ 2 }-2{ X }_{ i }\cdot \overline { X } +{ \overline { X } }^{ 2 })\\ &=E({ { X }_{ i } }^{ 2 })-{ \overline { X } }^{ 2 }\\ &=D({ { X }_{ i } })+{ E({ { X }_{ i } }) }^{ 2 }-{ \overline { X } }^{ 2 }\\ &=D({ { X }_{ i } })\end{align}\]

\({ X }_{ i }\sim B(n,\frac { 1 }{ m } )\),所以\({ D(X }_{ i })=n\cdot \frac { 1 }{ m } \cdot (1-\frac { 1 }{ m } )\)

写起来简单,比赛中推了好久……实在是太弱了

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
#define LL long long
int main()
{
LL n,m,p,q;
while(scanf("%lld%lld",&n,&m),n+m){
p=n*(m-1);
q=m*m;
if(p==0) puts("0/1");
else
printf("%lld/%lld\n",p/__gcd(p,q),q/__gcd(p,q));
}
return 0;
}