2016多校训练Contest7: 1002 Hearthstone hdu5810
来源:互联网 发布:顺丰打单软件 编辑:程序博客网 时间:2024/05/18 01:46
Problem Description
Mr. Chopsticks is interested in random phenomena, and he conducts an experiment to study randomness. In the experiment, he throws n balls into m boxes in such a manner that each ball has equal probability of going to each boxes. After the experiment, he calculated the statistical variance V as
V=∑mi=1(Xi−X¯)2m
whereXi is the number of balls in the ith box, and X¯ is the average number of balls in a box.
Your task is to find out the expected value of V.
where
Your task is to find out the expected value of V.
Input
The input contains multiple test cases. Each case contains two integers n and m (1 <= n, m <= 1000 000 000) in a line.
The input is terminated by n = m = 0.
The input is terminated by n = m = 0.
Output
For each case, output the result as A/B in a line, where A/B should be an irreducible fraction. Let B=1 if the result is an integer.
Sample Input
2 12 20 0
Sample Output
0/11/2HintIn the second sample, there are four possible outcomes, two outcomes with V = 0 and two outcomes with V = 1.
E[V]=E[m∑i=1m(Xi−X¯)2]=E[(Xi−X¯)2]=E[Xi2−2XiX¯+X¯2]
=E[Xi2]−2X¯E[Xi]+E[X¯2]=E[Xi2]−2X¯2+X¯2=E[Xi2]−m2n2
所以关键是要求出E[Xi2]. 我们用随机变量Yj来表示第j个球是否在第i个盒子中,如果在则Yj=1,否则Yj=0. 于是
E[Xi2]=E[(∑j=1nYj)2]=E[∑j=1nYj2]+2E[∑j=1n∑k=1,k≠jnYjYk]=nE[Yj2]+n(n−1)E[YjYk]
=mn+m2n(n−1)
因此,
E[V]=mn+m2n(n−1)−m2n2=m2n(m−1)
官方题解如上。。因为是队友推的我具体不太清楚。。
#include <stdio.h>#include <algorithm>using namespace std;typedef __int64 ll;ll gcd(ll n,ll m){ ll r; while(m){ r = n%m; n = m; m = r; } return n;}int main(void){ ll a,b; ll n,m; while(scanf("%I64d%I64d",&n,&m)!=EOF){ if(n==0&&m==0){ break; } a = n*(m-1); b = m*m; ll g = gcd(a,b); printf("%I64d/%I64d\n",a/g,b/g); } return 0;}
0 0
- 2016多校训练Contest7: 1002 Hearthstone hdu5810
- 2016多校训练Contest7: 1008 Hearthstone hdu5816
- 2016多校训练Contest7: 1010 Joint Stacks hdu5818
- 2016多校训练Contest7: 1005 Elegant Construction hdu5813
- 2016多校训练Contest7: 1011 Knights hdu5819
- 2016多校训练Contest7: 1012 Lights hdu5820
- 2016多校训练Contest7: 1004 Distance hdu5812
- 2016多校训练Contest7: 1003 Colosseo hdu5811
- 2016多校训练总结
- 2016多校训练Contest6: 1002 A Simple Chess hdu5794
- 2016多校训练#1 1002 组合博弈
- 2016多校训练Contest9: 1002 Best Division hdu5845
- 2016多校训练Contest10: 1002 Hard problem hdu5858
- #2016多校训练Contest10: 1002 Hard problem hdu5858
- 2016湖南多校训练第一场
- 2016多校训练1 hdu5733 tetrahedron
- 多校训练
- Contest - 多校训练(三
- JAVA设计模式-代理模式
- 字符串从两端进行动态输出
- 折半查找(二分查找)
- 编写一个猜数字游戏
- 将每行输入,加上行号输出
- 2016多校训练Contest7: 1002 Hearthstone hdu5810
- 编程解决实际问题--预测比赛结果,确定凶手
- 打印杨辉三角型
- 创建一个数组,实现数组元素的初始化,逆置,清空
- 面试技巧题
- 棋盘游戏
- STM32之定时器
- 有趣的C语言小程序
- 将整数n这个数字转换为对应的字符串