题目大意:一个人去邮局邮寄东西,邮局柜台有N个客服,编号为1—N,且此时每个客服柜台前都有且仅有一个客户在服务,哪个客服先服务完,此人就可以直接进入服务。每个客服的服务效率为ki,i表示第i个客服,已知每个客服的服务时间满足p(ti = t) = kie^(-kit),并且已知每个客户已被服务时间为ci,求此人邮寄完东西需要等待的时间期望。
解题思路:原本以为是泊松分布,但后来看了别人的解题报告才知道是指数分布,尽管是看了别人的报告,但里边的一些东西我还是想自己写出了,争取写的更加简单易懂;根据指数分布的特性,由每个客服的服务效率ki,我们可以得出等待时间的期望为1/ (∑ki),每个客服被选择的概率为 ki /(∑ki),并且该客服的服务时间为1/ki(效率的倒数就是时间),所以服务时间为∑(ki /(∑ki)*1/ki),最终的结果为(N+1)/∑(ki);(此时可看出所给的已服务时间与结果无关)。
题目来源:点击打开链接
#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;
}