概率dp



一:Uva12230Crossing Rivers (数学期望)
题目大意:
有个人每天要去公司上班,每次会经过N条河,家和公司的距离为D,默认在陆地的速度为1,
给出N条河的信息,包括起始坐标p,宽度L,以及船的速度v。船会往返在河的两岸,人到达河岸时,
船的位置是随机的(往返中)。问说人达到公司所需要的期望时间。
思路:

 

1,过每条河最坏的情况是t=3*L/v; 即去的时候船刚刚走。
2,过没条河最优的情况是t=L/v; 即去的时候船刚刚来。
3,由于船是均匀发布的,符合线性性质,所以平均下来,过每条河的时间t=2*L/v。

 

 

#include <bits/stdc++.h>
using namespace std;
int n;
double d;
int main()
{
    double p,l,v;
    int cnt=1;
 while(~scanf("%d%lf",&n,&d)){
     if(n+d==0) break;
     double sum = 0.0,ret =0.0;
     for(int i =0;i<n;i++){
         scanf("%lf%lf%lf",&p,&l,&v);
         sum+=l;
         ret+=2.0*l/v;
     }    
     ret+=(d-sum);
     //会自动四舍五入的
     printf("Case %d: %.3f\n\n",cnt++,ret);//再输出一个空行
 }
 return 0;
}

 

 

 

 

 

转载于:https://www.cnblogs.com/tingtin/p/10674020.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值