题目大意:

你要去邮局发一个包裹,有n个窗口,每个都有人,每一个窗口完成一次服务的时间 ti 的分布符合几何分布:ki*e^(-ki*t)

每个窗口当前服务已经进行了ci时间

你会去第一个完成当前服务的窗口,求你从到达邮局到寄完包裹花费总时间的期望

据说是概率论书上的题目。。概率论才学了一章的哭瞎

比赛的时候题还没完全都清楚,感觉概率应该用积分算,就开始积分,最后搞了半天也是不了了知

后来看了大牛的题解,总算看懂了,也自己推了∫+∞xf(x:λj)dx一次。。

思路:

首先对单个窗口进行概率积分 ∫+∞xf(x:λj)dx ∫+∞xf(x:λj)dx∫+∞xf(x:λj)dx∫+∞xf(x:λj)dx得到完成时间在[0,t]内的概率为 1-e^(-ki*t),所以[t,+∞]的概率即为 e^(-ki*t);

再对期望积分 得到 E(i)=1/ki;

通过以上概率每个窗口完成当前服务的时间是和已经进行的时间ci是无关的(这个由条件概率很好算出)

所以,我们设 在第 t 时刻,你来到了 i 窗口,那么应该满足什么条件呢

根据题意,你将会去结束当前服务最早的一个窗口,所以,你去此窗口的必要条件是 ,其他窗口在 t 时刻并没有结束自己的当前工作

这个概率由乘法原理可以容易写出:

即为  ∏ (j=1...n,j!=i):e^(-kj*t) 。

而花费的时间即为 t (在当前服务上花的时间)  +  E(i) (在你身上花的时间的期望)。

由于 t 是连续的,还需要对 t 进行积分。

最后再对每一个窗口进行求和,得到期望的表达式

化简过程就需要各种积分了。。所以高数功底还是很重要的啊。

如图:

最后推出公式。。代码就好写了

#include <iostream>
#include <stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<string>
#include<ctype.h>
using namespace std;
#define MAXN 10000
double k[];
int main()
{ int tt;
scanf("%d",&tt);
int n;
int cas=;
while(tt--)
{
cas++;
scanf("%d",&n);
double ans=;
for(int i=;i<n;i++)
{
scanf("%lf",k+i);
ans+=k[i];
}
for(int i=;i<n;i++)
{
scanf("%lf",&k[]);
}
printf("Case #%d: %.6f\n",cas,(n+)/ans);
} return ;
}

hdu5035:概率论推公式的更多相关文章

  1. HDU 4873 ZCC Loves Intersection(JAVA、大数、推公式)

    在一个D维空间,只有整点,点的每个维度的值是0~n-1 .现每秒生成D条线段,第i条线段与第i维度的轴平行.问D条线段的相交期望. 生成线段[a1,a2]的方法(假设该线段为第i条,即与第i维度的轴平 ...

  2. HDU 4870 Rating(概率、期望、推公式) && ZOJ 3415 Zhou Yu

    其实zoj 3415不是应该叫Yu Zhou吗...碰到ZOJ 3415之后用了第二个参考网址的方法去求通项,然后这次碰到4870不会搞.参考了chanme的,然后重新把周瑜跟排名都反复推导(不是推倒 ...

  3. HDU 5047 推公式+别样输出

    题意:给n个‘M'形,问最多能把平面分成多少区域 解法:推公式 : f(n) = 4n(4n+1)/2 - 9n + 1 = (8n+1)(n-1)+2 前面部分有可能超long long,所以要转化 ...

  4. CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)

    问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...

  5. bjfu1211 推公式,筛素数

    题目是求fun(n)的值 fun(n)= Gcd(3)+Gcd(4)+…+Gcd(i)+…+Gcd(n).Gcd(n)=gcd(C[n][1],C[n][2],……,C[n][n-1])C[n][k] ...

  6. sgu495:概率dp / 推公式

    概率题..可以dp也可以推公式 抽象出来的题目大意: 有 n个小球,有放回的取m次  问 被取出来过的小球的个数的期望 dp维护两个状态 第 i 次取出的是 没有被取出来过的小球的 概率dp[i] 和 ...

  7. ASC(22)H(大数+推公式)

    High Speed Trains Time Limit: 4000/2000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) Su ...

  8. hdu_5810_Balls and Boxes(打表推公式)

    题目链接:hdu_5810_Balls and Boxes 题意: 如题,让你求那个公式的期望 题解: 打表找规律,然后推公式.这项技能必须得学会 #include<cstdio> #in ...

  9. hdu4507 数位dp+推公式

    推公式的能力需要锻炼.. /* dp的时候要存结构体 里面三个元素: cnt,就是满足条件的个数 sum1,就是满足条件的数字和 sum2,满足条件的数字平方和 推导过程:还是用记忆化搜索模板 dp[ ...

随机推荐

  1. log.sh

    #!/bin/echo Warnning, this library must only be sourced! # vim: set expandtab smarttab shiftwidth=4 ...

  2. iOS语音识别,语音播报,文字变语音播报,语音变文字

    首先使用的是科大讯飞的sdk 1.语音识别部分 AppDelegate.m #import "AppDelegate.h" #import <iflyMSC/iflyMSC. ...

  3. XMPP通讯开发-好友获取界面设计

    在XMPP通讯开发-服务器连接 中我们成功连接到服务器上面,然后进入到主界面,接下来就是获取好友列表,这里我们分段开发,首先就是界面的设计,这里仿照QQ好友界面,里面的数据先是用模拟的,下一章获取服务 ...

  4. 命令行修改linux系统IP

    修改配置文件/etc/sysconfig/network-scrips/ifcfg-eth0.因为机子启动的时候加载的就是这个文件的配置参数.对这个文件进行修改:   [root@localhost ...

  5. 运行第一个Hadoop程序,WordCount

    系统: Ubuntu14.04 Hadoop版本: 2.7.2 参照http://www.cnblogs.com/taichu/p/5264185.html中的分享,来学习运行第一个hadoop程序. ...

  6. apache ab工具对网站进行压力测试

    Apache -- ab工具主要测试网站的(并发性能) 这个工具非常的强大. 基本语法 :   cmd>ab.exe –n 请求总次数  -c 并发数 请求页面的url     进入到ab.ex ...

  7. HTML与CSS入门——第五章 使用文本块和列表

    知识点: 1.在页面上对齐文本的方法 2.三种HTML列表的使用方法 3.在列表中放置列表的方法 5.1 在页面上对齐文本: 父元素内子元素文本的居中:在控制父元素的text-align:center ...

  8. 根据控件Id得到控件

    在做动态获取控件时,时常需要根据Id得到控件,并对该控件进行操作,此时用 /// <summary>        /// 根据控件id得到控件        /// </summa ...

  9. NSURLSessionDataTask

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDelegate,NSURLSessi ...

  10. SignalR2.0开发实例之——负载均衡

    SignalR 2.0作为一个新的而且强大的通信工具,发布博客之后得到了很多人的支持,谢谢...也有人对性能和架设等问题提出了各种质疑..真的很感谢.. 我特意下载了SignalR 2.0的源码硬着头 ...