题意:你要从A到B去上班,然而这中间有n条河,距离为d。给定这n条河离A的距离p,长度L,和船的移动速度v,求从A到B的时间的数学期望。

并且假设出门前每条船的位置是随机的,如果不是在端点,方向也是不定的,你在陆地行走速度为1,输入保证河在AB之前,并且不会重叠。

析:一看这个题,好像不会啊。。。这怎么求,这么乱,这么复杂。。。

但是仔细一想求时间期望,不就是在过河的地方时间不是固定的么,只要求出过河的时间的数学期望,利用数学期望的线性,加起来就OK了。

这样一想感觉就不乱了,那么怎么求每个河的时间呢,题目说了都是船都是随机的,可以认为是等概率的,那么过河的最短时间就是L/v,正好到河边船正好过来,

最长时间就是3*L/v,也就是他刚到河边,船刚走,最后再加上在陆地的时间就OK了。

代码如下:

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <cstdio> using namespace std; int main(){
int n, d, kase = 0;
while(scanf("%d %d", &n, &d)){
if(!d && !n) break;
double ans = (double)d;
for(int i = 0; i < n; ++i){
double p, l, v;
scanf("%lf %lf %lf", &p, &l, &v);
ans = ans - l + 2 * l / v;//由于在陆地的速度是1,所以不用除了
} printf("Case %d: %.3lf\n\n", ++kase, ans);
}
return 0;
}

最新文章

  1. 【leetcode】Minimum Depth of Binary Tree
  2. psr的规范
  3. angular文件引入带来的绑定问题
  4. NSLog函数重写
  5. PHP不能创建csv中文名文件
  6. I2C实时时钟rx-8025板卡实际应用
  7. 根据查询结果创建新表create table .. as (select....)
  8. android Handler机制之ThreadLocal详解
  9. ubuntu12.04:Mysql数据库:自动安装
  10. 2.2String工具类
  11. Java学习-051-Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError
  12. extentreports
  13. html5 drag 文件拖拽浅淡
  14. 【python】入门指南1
  15. WCF接口实例介绍
  16. linux卸载自带jdk
  17. 文件读写’r&#39;和’rb’区别
  18. 开发VS2008 AddIn 入门Sample
  19. Codeforces Round #462 (Div. 2), problem: (C) A Twisty Movement (求可以转一次区间的不递增子序列元素只有1,2)
  20. mui 窗体切换

热门文章

  1. ubuntu16.04设置电池充电阈值
  2. JSTL标签库学习3-fn
  3. 书单BookList
  4. oc NSLog输出格式大全
  5. HttpSession的关键属性和方法
  6. css样式表之边框
  7. 百度BAE部署微信开发环境
  8. Python sum() 函数
  9. SqlServer把日期转换成不同格式的字符串的函数大全
  10. 转)MySQL日期与时间函数