您的位置:首页 > 其它

SGU 495 Kids and Prizes(期望)

2014-08-23 16:31 281 查看
去这里做吧:http://vjudge.net/vjudge/contest/view.action?cid=54547#problem/B

题意:

有n个奖品放在n个盒子,进行m次选择,每次只能选则一个盒子,如果选到含有奖品的话就把盒子里奖品拿走,盒子始终仍留着。问最终得到到奖品数的期望值。

没学过概率论,但是看有的地方说是二项分布感觉不是......

正解感觉应该是:对每个礼物,不被选中的概率是(n-1)/n  ,在m次都不被选中的概率是((n-1)/n )^m, 对一件礼物,被选中概率是1-((n-1)/n )^m,那么乘以n就是期望

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <map>
#include <set>
#include <queue>
using namespace std;

#define ls(rt) rt*2
#define rs(rt) rt*2+1
#define ll long long
#define ull unsigned long long
#define rep(i,s,e) for(int i=s;i<e;i++)
#define repe(i,s,e) for(int i=s;i<=e;i++)
#define CL(a,b) memset(a,b,sizeof(a))
#define IN(s) freopen(s,"r",stdin)
#define OUT(s) freopen(s,"w",stdout)
const ll ll_INF = ((ull)(-1))>>1;
const double EPS = 1e-8;
const int INF = 100000000;

int main()
{
double ans=0;
int n,m;
while(~scanf("%d%d",&n,&m))
{
printf("%.10lf\n",n*(1.0-pow(1.0*(n-1)/n,m)));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: