zoukankan      html  css  js  c++  java
  • lightoj 1408 Batting Practice

      题意:一个人若连续进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<stdio.h>
    #include<math.h>
    
    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
    ",1.0*k2);
                continue;
            }
            else if(p<1e-10)
            {
                printf("%.8lf
    ",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
    ",q*x+p*y+1);
        }
        return 0;
    }
  • 相关阅读:
    Python中的赋值(复制)、浅拷贝与深拷贝
    review
    Python网络编程
    云计算网络 ASW DSW CSW LSW
    Python文件操作 I/O
    RSI 指标
    python 常见模块
    Python模块和包
    读利弗莫尔
    GDP、CPI、M2
  • 原文地址:https://www.cnblogs.com/yongren1zu/p/3250803.html
Copyright © 2011-2022 走看看