您的位置:首页 > 其它

HDU - 5035 Delivery 概率论(指数分布性质)

2017-10-11 23:16 519 查看
题目链接

题意:

Matt去发快递,快递点有N个职员,职员处理一个客户的时间服从指数分布f(x)=ke−kx:,其中的k参数为职员的效率,现在给出每个职员的效率,同时给了一个场景:现在每个职员都有且只有客户在服务中,此人还从信息牌得知了每个职员已经为当前客户服务了c时间,题目中也给出了,一旦有客户被服务完毕,则这个人就立刻去接受服务。问在此场景下,这个人发快递需要的时间的期望是多少?

思路:

这是一道指数分布的题目,不明白为啥网上都在传错的题解?那个积分连x都丢了还能积分出正确答案?反正我是不会.

首先介绍一下指数分布的性质: E(x)=1kD(x)=1k2



首先需要明确所求时间分为两个阶段,一个数等待阶段一个是服务阶段,对于在第i窗口时间被服务的时间期望设为E(Xi)=1ki

,需要的总时间就是E(xi)+t.

那么对于这个题目,我们假设matt在t时刻被第i个窗口服务,那么由条件概率我们可以得到本题和c无关.

另外要知道我们连续性随机变量的F(t)求出的是在[0,t]的概率,为1−e−kt,那么其他窗口就要在t时刻没服务完,也就是在[t,+oo]概率为 e−kx . 又知道连续性随机变量在某点的取值趋近于0,这里我们认为这个概率为 e−kx∗dx(dx也是很小的几乎为0),从而得出我们的公式:

∑Ni=1∫+oo0(E(Xi)+x)kie−kix(∏Nj=1∫+ooxkje−kjxdx)dx

化简可得 ans=N+1∑Ni=1ki

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
int T,N,c;
double sum,a;
scanf("%d",&T);
for(int w = 1; w <= T; w++)
{
sum = 0.0;
scanf("%d",&N);
for(int i = 0; i < N; i++)
{
scanf("%lf",&a);
sum += a;
}
for(int j = 0; j < N; j++)
scanf("%d",&c);
printf("Case #%d: %.6lf\n",w,(N+1.0)/sum);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: