UVA12230 Crossing Rivers (数学期望)

题目链接

题意翻译

一个人每天需要从家去往公司,然后家与公司的道路是条直线,长度为 \(D\)
同时路上有 \(N\) 条河,给出起点和宽度\(W_i\) , 过河需要乘坐速度为\(V_i\) 的渡船;
船在河中的位置随机,固定往返时间. 且该人在陆地上行走速度为 1 .求该人去公司的路途的期望时间.

Solution

让我多了一些对于期望的了解。
考虑过每条河流的最坏情况和最好情况.
1.最坏情况: \((3*W_i)/V_i\) ; 此时即船刚刚走。
2.最好情况: \(W_i/V_i\) ; 此时即船刚好来。

由于船的位置随机,所以说其满足期望线性.
所以我们每次过一条河流的期望时间即为: \((2*W_i)/V_i\) ;
然后就解决了这个问题.

Code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,D,dis,p,l,v,Case=0;
    double ans;
    while(scanf("%d%d",&n,&D)){
        if(n==0&&D==0) return 0;
        dis=0;ans=0;
        while(n--){
            scanf("%d%d%d",&p,&l,&v);
            ans=ans+2.0*l/v;
            D-=l;
        }
        ans=ans+1.0*D;
        printf("Case %d: %.3lf\n\n",++Case,ans);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/Kv-Stalin/p/9374829.html
今日推荐