UVA - 12230】的更多相关文章

UVA 12230 - Crossing Rivers 题目链接 题意:给定几条河,每条河上有来回开的船,某一天出门,船位置随机,如今要求从A到B,所须要的期望时间 思路:每条河的期望,最坏就是船刚开走3L/V,最好就是直接上船L/V,期望为4L/V/2 = 2L/V,然后在算上陆地上的时间,就是答案 代码: #include <stdio.h> #include <string.h> int n; double d, p, l, v; int main() { int cas =…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3382 题意: 你住在村庄A,每天需要过很多条河到另一个村庄B上班.B在A的右边,所有的河都在中间.幸运的是,每条河上都有匀速移动的自动船,因此每当到达一条河的左岸时,只需等船过来,载着你过河,然后在右岸下船.你很瘦,因此上船之后船速不变.日复一日,年复一年,你问自己:从A到B,平均…
题意: 从A到B两地相距D,之间有n段河,每段河有一条小船,船的位置以及方向随机分布,速度大小不变.每段河之间是陆地,而且在陆地上行走的速度为1.求从A到B的时间期望. 分析: 我们只要分析每段河的期望即可.设河的长度为L,船速为v.过河最短时间为刚好搭上从左向右开的小船L/v:最长时间为刚好没搭上从左向右开的小船,所以要等小船开到对岸再折返回来再到对岸,时间为3L/v,因为是均匀分布,所以期望为2L/v,最后再加上陆地上行走的时间就是答案. #include <cstdio> int mai…
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…
题目链接 /* 到达一条河时,船在河中的位置是随机的,所以船到达岸边需要的时间在 0~2l/v 均匀分布,所以船到岸的期望为 (0+2l/v)/2 过河需要 l/v 的时间,所以过一条河总的期望为 (0+2l/v)/2 + l/v = 2l/v 陆地上的速度是确定的,可以直接先计算出来 期望是线性的,每条河期望相加即为过河的总期望 */ #include<cstdio> using namespace std; int main() { int n,d,p,l,v,cas=0; while(~…
题意:你要从A到B去上班,然而这中间有n条河,距离为d.给定这n条河离A的距离p,长度L,和船的移动速度v,求从A到B的时间的数学期望. 并且假设出门前每条船的位置是随机的,如果不是在端点,方向也是不定的,你在陆地行走速度为1,输入保证河在AB之前,并且不会重叠. 析:一看这个题,好像不会啊...这怎么求,这么乱,这么复杂... 但是仔细一想求时间期望,不就是在过河的地方时间不是固定的么,只要求出过河的时间的数学期望,利用数学期望的线性,加起来就OK了. 这样一想感觉就不乱了,那么怎么求每个河的…
嘟嘟嘟 虽然分类是期望dp,不过好像是最水的 因为在陆地上的时间和概率是固定的,所以只用考虑过河的期望时间. 对于一条河p, l, v,p好像没什么用……不管了,首先期望时间我觉得可以这么算:期望时间=期望距离 / 速度,又因为船停的位置和方向都是等概率随机的,所以期望的距离就是平均距离,很显然最长的距离是3L,最短是L,那么平均距离就是2L,期望时间就是2L / v. 初始化ans = d,那么每一次ans = ans - L + 2L / v. #include<cstdio> #incl…
#include <bits/stdc++.h> using namespace std; int n; double d; double p,l,v,ret,sum; ; /* 村庄A,B之间有若干条河流,每条河流上的船速各自保持不变.告诉河流条数,两个村庄之间的距离 以及每条河流的距离A村庄的位置,宽度,船的速度.求A到B的时间的期望. 过河:最多用时:3*l/v,最少用时l/v. 因为开始时船的位置随机,所以期望过河时间为2L/v.加上在路上行走的时间就是答案. */ int main(…
你住在村庄A,每天需要过很多条河到另一个村庄B上班,B在A的右边,所有的河都在A,B之间,幸运的是每条船上都有自由移动的自动船, 因此只要到达河左岸然后等船过来,在右岸下船,上船之后船的速度不变.现在问从A到B的期望时间是多少,假设在出发时船的位置都是 随机分布.人在 陆地上行走的速度为1. 根据数学期望的线性,过每条河的时间为L/v(到河边船刚好开)到3L/v(到河边船刚好开走)的均匀分布,因此期望过河时间为 (L+3L/v)/2=(2*L/v) 加上 D-sum(L) . #include…
题目大意:有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1,给出N条河的信息,包括起始坐标p,宽度L,以及船的速度v.船会往返在河的两岸,人到达河岸时,船的位置是随机的(往返中).问说人达到公司所需要的期望时间. 考虑每条河的过河时间: $t_{min} =\frac{L}{V}$,  $t_{max} =\frac{3L}{V}$ 由于每种距离的概率都是相等的,我们可以认为时间的期望就是 $(t_{min}+t_{max})/2$. Code: #includ…