UVA - 12230 Crossing Rivers (期望)
Description

You live in a village but work in another village. You decided to follow the straight path between your house (A) and the working place (B), but there are several rivers you need to cross. Assume B is to the right of A, and all the rivers lie between them.
Fortunately, there is one ``automatic" boat moving smoothly in each river. When you arrive the left bank of a river, just wait for the boat, then go with it. You're so slim that carrying you does not change the speed of any boat.
Days and days after, you came up with the following question: assume each boat is independently placed at random at time 0, what is the
expected time to reach B from A?
Your walking speed is always 1.
To be more precise, for a river of length L, the distance of the boat (which could be regarded as a mathematical point) to the left bank at time 0 is
uniformly chosen from interval [0,
L], and the boat is equally like to be moving left or right, if it's not precisely at the river bank.
Input
There will be at most 10 test cases. Each case begins with two integers
n and D, where
n(0
n
10)
is the number of rivers between A and B, D(1
D
1000)
is the distance from A to B. Each of the following n lines describes a river with 3 integers:
p, L and
v (0
p <
D, 0 < L
D,
1
v
100).
p is the distance from A to the left bank of this river,
L is the length of this river,
v is the speed of the boat on this river. It is guaranteed that rivers lie between A and B, and they don't overlap. The last test case is followed by
n = D = 0, which should not be processed.
Output
For each test case, print the case number and the expected time, rounded to 3 digits after the decimal point.
Print a blank line after the output of each test case.
Sample Input
1 1
0 1 2
0 1
0 0
Sample Output
Case 1: 1.000 Case 2: 1.000
题意:给你A和B的距离。以及途中n条河的信息。问你从A到B的期望
思路:我们单纯算过河时间的话,最快的是l/v,最慢的可能是3l/v,期间的时间是线性的,所以期望就是4l/2v=2l/v#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std; int n;
double p, l, v, d; int main() {
int cas = 1;
while (scanf("%d%lf", &n, &d) != EOF && n+d) {
while (n--) {
scanf("%lf%lf%lf", &p, &l, &v);
d = d - l + l * 2 / v;
}
printf("Case %d: %.3lf\n\n", cas++, d);
}
return 0;
}
UVA - 12230 Crossing Rivers (期望)的更多相关文章
- UVA.12230.Crossing Rivers(期望)
题目链接 /* 到达一条河时,船在河中的位置是随机的,所以船到达岸边需要的时间在 0~2l/v 均匀分布,所以船到岸的期望为 (0+2l/v)/2 过河需要 l/v 的时间,所以过一条河总的期望为 ( ...
- UVA 12230 - Crossing Rivers(概率)
UVA 12230 - Crossing Rivers 题目链接 题意:给定几条河,每条河上有来回开的船,某一天出门,船位置随机,如今要求从A到B,所须要的期望时间 思路:每条河的期望,最坏就是船刚开 ...
- UVa 12230 - Crossing Rivers(数学期望)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 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 (数学期望)
你住在村庄A,每天需要过很多条河到另一个村庄B上班,B在A的右边,所有的河都在A,B之间,幸运的是每条船上都有自由移动的自动船, 因此只要到达河左岸然后等船过来,在右岸下船,上船之后船的速度不变.现在 ...
- 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好像没什么用……不管了,首先期望时间我觉得可以这么算:期望时间 ...
- Crossing Rivers UVA - 12230 概率与期望
题目大意:有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1,给出N条河的信息,包括起始坐标p,宽度L,以及船的速度v.船会往返在河的两岸,人到达河岸时,船的位置是随机 ...
- 紫书 例题 10-16 UVa 12230(数学期望)
感觉数学期望的和化学里面求元素的相对原子质量的算法是一样的 就是同位素的含量乘上质量然后求和得出 这道题因为等待时机是0到2*l/v均匀分配的,所以平均时间就是l/v 再加上过河的l/v, 最后加上步 ...
随机推荐
- codeforces 245H . Queries for Number of Palindromes 区间dp
题目链接 给一个字符串, q个询问, 每次询问求出[l, r]里有多少个回文串. 区间dp, dp[l][r]表示[l, r]内有多少个回文串. dp[l][r] = dp[l+1][r]+dp[l] ...
- (iOS)关于GCD死锁的问题
- (void)viewDidLoad { [super viewDidLoad]; dispatch_sync(dispatch_get_main_queue(), ^{NSLog("); ...
- 个人收集资料整理-WebForm
[2016-03-23 20:35:53] C#实现局域网文件传输 win7系统中桌面图标显示不正常问题
- DOCTYPE声明的几种类型
DOCTYPE声明的几种类型 DOCTYPE 声明决定着浏览器怎么去解析和渲染当前页面,所以对于页面来说是很重要的. HTML5时代,统一用 <!DOCTYPE html> 这样简单的方式 ...
- CDN库地址搜集2
常用开源库 http://open.bootcss.com/
- POJ 3693 Maximum repetition substring(后缀数组+ST表)
[题目链接] poj.org/problem?id=3693 [题目大意] 求一个串重复次数最多的连续重复子串并输出,要求字典序最小. [题解] 考虑错位匹配,设重复部分长度为l,记s[i]和s[i+ ...
- JqGrid使用经验
一.更改分页组件的样式 分页组件中
- c++ - fcgio.cpp:50: error: 'EOF' was not declared in this scope - Stack Overflow
c++ - fcgio.cpp:50: error: 'EOF' was not declared in this scope - Stack Overflow fcgio.cpp:50: error ...
- docker进入容器
进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-l ...
- WCF 出现无法理解Soap Action问题?
在使用wcf部署到asp.net上时,遇到了,“无法理解soap Action 问题,”最简单的解决办法是更换NET framwork 高本版的框架. 不过不更换net framwork 框架,能否解 ...