UVa 12230 - Crossing Rivers(数学期望)
链接:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3382
题意:
你住在村庄A,每天需要过很多条河到另一个村庄B上班。B在A的右边,所有的河都在中间。
幸运的是,每条河上都有匀速移动的自动船,因此每当到达一条河的左岸时,
只需等船过来,载着你过河,然后在右岸下船。你很瘦,因此上船之后船速不变。
日复一日,年复一年,你问自己:从A到B,平均情况下需要多长时间?假设在出门时所有船的位置都是均匀随机分布。
如果位置不是在河的端点处,则朝向也是均匀随机。在陆地上行走的速度为1。
输入A和B之间河的个数n、长度D(0≤n≤10,1≤D≤1000),以及每条河的左端点坐标离A的距离p,
长度L和移动速度v(0≤p<D,0<L≤D,1≤v≤100),输出A到B时间的数学期望。
输入保证每条河都在A和B之间,并且相互不会重叠。
分析:
用数学期望的线性。过每条河的时间为L/v到3L/v的均匀分布,因此期望过河时间为2L/v。
把所有2L/v加起来,再加上D-sum(L)即可。
代码:
#include <cstdio>
int main() {
int n, D, p, L, v;
for(int cases = ; scanf("%d%d", &n, &D) && D; cases++) {
double ans = D;
for(int i = ; i < n; i++) {
scanf("%d%d%d", &p, &L, &v);
ans -= L;
ans += 2.0 * L / v;
}
printf("Case %d: %.3f\n\n", cases, ans);
}
return ;
}
UVa 12230 - Crossing Rivers(数学期望)的更多相关文章
- Uva - 12230 Crossing Rivers (数学期望)
你住在村庄A,每天需要过很多条河到另一个村庄B上班,B在A的右边,所有的河都在A,B之间,幸运的是每条船上都有自由移动的自动船, 因此只要到达河左岸然后等船过来,在右岸下船,上船之后船的速度不变.现在 ...
- UVA - 12230 Crossing Rivers (期望)
Description You live in a village but work in another village. You decided to follow the straight pa ...
- UVA - 12230 Crossing Rivers 概率期望
You live in a village but work in another village. You decided to follow the straight path between y ...
- UVA 12230 - Crossing Rivers(概率)
UVA 12230 - Crossing Rivers 题目链接 题意:给定几条河,每条河上有来回开的船,某一天出门,船位置随机,如今要求从A到B,所须要的期望时间 思路:每条河的期望,最坏就是船刚开 ...
- HDU3232 Crossing Rivers 数学期望问题
Crossing Rivers ...
- UVA.12230.Crossing Rivers(期望)
题目链接 /* 到达一条河时,船在河中的位置是随机的,所以船到达岸边需要的时间在 0~2l/v 均匀分布,所以船到岸的期望为 (0+2l/v)/2 过河需要 l/v 的时间,所以过一条河总的期望为 ( ...
- UVA - 12230 Crossing Rivers(过河)(期望)
题意:从A到B需要经过n条河,已知AB间距离D和每条河的长度L以及在该条河上的船速v,求A到B平均情况下需多长时间.陆地行走速度为1,船的位置和朝向均匀随机. 分析: 1.过一条河,最短时间L/v(无 ...
- UVA 12230 Crossing Rivers
嘟嘟嘟 虽然分类是期望dp,不过好像是最水的 因为在陆地上的时间和概率是固定的,所以只用考虑过河的期望时间. 对于一条河p, l, v,p好像没什么用……不管了,首先期望时间我觉得可以这么算:期望时间 ...
- UVA12230 Crossing Rivers (数学期望)
题目链接 题意翻译 一个人每天需要从家去往公司,然后家与公司的道路是条直线,长度为 \(D\). 同时路上有 \(N\) 条河,给出起点和宽度\(W_i\) , 过河需要乘坐速度为\(V_i\) 的渡 ...
随机推荐
- Python——如何搭建Python的环境
最近在学Python,只知道python一般是用来写爬虫的,以前看过一个朋友用Python做的爬虫从妹子图网站上下载图片,觉得很有趣,自己也想学一学. 俗话说,万事开头难,首先第一步就是搭建Pytho ...
- flash builder注释字体看不清
window-preferences-flex-editiors-syntex coloring-ActionScript-Comment (窗口-首选项-flashbuilder-编辑器-语法着色- ...
- 如鹏网学习笔记(九)JavaScript
JavaScript笔记 一.JavaScript简介 1,JavaScript是一种计算机编程语言,可以像等其他编程语言那样定义变量,执行循环等. 2,JavaScript代码主要执行在浏览器上,为 ...
- Groovy内存机制详解
groovy每执行一次脚本,都会生成一个脚本的class对象,并new一个InnerLoader去加载这个对象. 所有的脚本都是由GroovyClassLoader加载的,每次加载脚本都会生成一个新的 ...
- HDU X问题 中国剩余定理--求满足条件的个数
X问题 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Tempter of the Bone 搜索---奇偶性剪枝
Tempter of the Bone Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) ...
- JDBC增加、更新、删除数据
JDBC增加.更新.删除数据 st.executeUpdate(sql) 进行插入.更新.删除操作返回的是受影响的记录的条数 注意:输入的sql语句中,vachar类型记住加单引号 完整代码如下: p ...
- 线程协作--wait,notify:经典消费者生产者
JDK 中关于wait,notify这两个方法的介绍: 1.wait:线程进入阻塞. synchronized (obj) { while (<condition does not hold&g ...
- Excel Metadata
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Java设计模式—工厂方法模式&抽象工厂模式
工厂方法模式与抽象工厂模式都是设计模式中重要而且常见的模式. 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 通用类图如下: 在 ...