博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lightoj 1408 Batting Practice
阅读量:5253 次
发布时间:2019-06-14

本文共 956 字,大约阅读时间需要 3 分钟。

  题意:一个人若连续进k1个球或连续不进k2个球,游戏结束,给出这个人进球的概率p,求到游戏结束时这个投球个数的期望。

  进球概率为p,不进概率 q=1-p

  设 f[i] 表示连续 i 次不进距离连续k2次不进结束的期望,t[i]表示连续 i 次进球,距离连续k1次进球结束的期望。显然,f[k2]=p[k1]=0;

  f[i] = q*(f[i+1]+1)+p*(1+t[1]) , t[i] = p*(t[i+1]+1)+q*(1+f[1]).

  答案是 p*t[1]+q*f[1]+1.

  然后就算t[1],f[1]去吧~~数学不好的人伤不起啊

#include
#include
int main(){ int T,cas=1; double p,q; int k1,k2; scanf("%d",&T); while(T--) { scanf("%lf%d%d",&p,&k1,&k2); q=1-p; printf("Case %d: ",cas++); if(p>1-1e-10) { printf("%.8lf\n",1.0*k2); continue; } else if(p<1e-10) { printf("%.8lf\n",1.0*k1); continue; } double f1=1-pow(q,k1-1),b1=f1/(1-q); double f2=1-pow(p,k2-1),b2=f2/(1-p); double x=(f1*b2+b1)/(1-f1*f2),y=f2*x+b2; printf("%.8lf\n",q*x+p*y+1); } return 0;}

 

转载于:https://www.cnblogs.com/yongren1zu/p/3250803.html

你可能感兴趣的文章
Java实现二分查找
查看>>
php7 新特性整理
查看>>
03 线程池
查看>>
手机验证码执行流程
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
jquery的contains方法
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
桥接模式-Bridge(Java实现)
查看>>
303. Range Sum Query - Immutable
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>
前台freemark获取后台的值
查看>>
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
Django 相关
查看>>
Python(软件目录结构规范)
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
条件断点 符号断点
查看>>