zoukankan      html  css  js  c++  java
  • Tribles UVA

    题意:

      有k只麻球,每只只活一天,临死之前可能会出生一些新的麻球,

    具体出生i个麻球的概率为P,给定m,求m天后麻球全部死亡的概率。

    解析:

      从小到大,先考虑一只麻球的情况  设一只麻球m天后全部死亡的概率为f(m)

    则第i天全部死亡的概率为f(i)  这一只麻球有多种情况,不生孩子,生一个,生两个,········

    那么因为需要i天后全部死亡, 则孩子最多能繁衍到i天 即孩子最多繁衍(i-1)天  (因为孩子从第二天才出来 比父少一天)、

    所以孩子i天后全部死亡的概率为f(i-1

    所以 f(i)= P0 + P1*f(i-1) + P2*f(i-1)^2 + P3 * (i-1)^3+····+Pn-1*f(i-1)^n-1;

    递推就好了

     

    import java.math.BigDecimal;
    import java.math.BigInteger;
    import java.text.DecimalFormat;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.LinkedList;
    import java.util.Queue;
    import java.util.Scanner;
    import java.util.Stack;
    import java.util.Vector;
    
    public class Main {
        public static void main(String[] args) {
            final int maxn = 10010;
            Scanner cin = new Scanner(System.in);
            int T = cin.nextInt();
            int cnt = 0;
            while(T-- != 0)
            {
                double[] P = new double[maxn];
                double[] f = new double[maxn];
                int n = cin.nextInt();
                int k = cin.nextInt();
                int m = cin.nextInt();
                for(int i=0;i<n;i++)
                    P[i] = cin.nextDouble();
                f[1] = P[0];
                for(int i=2;i<=m;i++)
                    for(int j=0;j<n;j++)
                        f[i] += P[j] * Math.pow(f[i-1], j);
                f[m] = Math.pow(f[m], k);
                DecimalFormat s = new DecimalFormat("0.0000000");
                System.out.println("Case #" + ++cnt + ":" + s.format(f[m]));
        
            }
            
        }
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    C++网络编程服务器select模型(参考)
    javascript中多维数组的使用
    C++ 网络编程 阻塞I/O模型并发回显服务器
    指针在javascript的使用方式
    C++网络编程之服务器编程
    C++网络编程之客户端程序
    Excel数据提取C++代码(仅供参考)
    SkipOut游戏实现代码
    C++读取Excel 精华
    MFC excel修改类
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9350971.html
Copyright © 2011-2022 走看看