zoukankan      html  css  js  c++  java
  • UVa 12230 && HDU 3232 Crossing Rivers (数学期望水题)

    题意:你要从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
    
    ", ++kase, ans);
        }
        return 0;
    }
    
  • 相关阅读:
    JMeter测试WEB性能入门
    Monkey测试运用实例
    Event percentages解析
    Monkey测试结果分析
    Monkey测试环境搭建
    Appium+java移动端项目测试问题整理
    appium定位安装包启动类名称
    Appium元素定位(uiautomatorviewer)
    Appium环境搭建(Windows版)
    Selenium+java项目测试问题整理
  • 原文地址:https://www.cnblogs.com/dwtfukgv/p/5538103.html
Copyright © 2011-2022 走看看