• UVA 11021


    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=481&page=show_problem&problem=1962

    刚开始没理解题意,看了题解之后也不太理解,现在好点了。

    其实可以看作每个麻球的后代是独立的,后代的后代同理也是独立的。

    一只麻球有P[j]的概率生j只后代,每只后代在i-1天后死亡的的概率是f[i-1],j只麻球即有pow(f[i-1], j)的概率在i-1天后死亡,即可得代码如下

     1 #include <iostream>
     2 #include <sstream>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <cmath>
     6 #include <string>
     7 #include <vector>
     8 #include <set>
     9 #include <cctype>
    10 #include <algorithm>
    11 #include <cmath>
    12 #include <deque>
    13 #include <queue>
    14 #include <map>
    15 #include <stack>
    16 #include <list>
    17 #include <iomanip>
    18 
    19 using namespace std;
    20 
    21 #define INF 0xffffff7
    22 #define maxn 310
    23 typedef unsigned long long ull;
    24 /*
    25 每只毛球族都只产生自己的后代,所以可以独立计算,f[i]表示1只毛球族i天后死亡的概率,最后的结果就是f(m)^k
    26 对于每只毛球族后代又可以独立计算,所以
    27     f[i]=p[0]+p[1]*f[i-1]+p[2]*f[i-1]^2+...+p[n-1]*f[i-1]^n-1
    28     就是说一只毛球族,i天后死亡的概率就是,它的后代i-1天都死亡的概率
    29 */
    30 int main()
    31 {
    32     int T;
    33     scanf("%d", &T);
    34     for(int kase = 1; kase <= T; kase++)
    35     {
    36         int n, k, m;
    37         scanf("%d%d%d", &n, &k, &m);
    38         double p[maxn];
    39         for(int i = 0; i < n; i++)
    40         {
    41             scanf("%lf", &p[i]);
    42         }
    43         double ans;
    44         double f[maxn];
    45 
    46         f[0] = 0;
    47         f[1] = p[0];/*1只麻球1天后死亡的概率为p[0],即生出0只麻球的概率*/
    48         for(int i = 2; i <= m; i++)
    49         {
    50             f[i] = 0;
    51             for(int j = 0; j < n; j++)
    52                 f[i] += p[j]*pow(f[i-1], j);
    53         }
    54         printf("Case #%d: %.7lf
    ", kase, pow(f[m], k));
    55     }
    56     return 0;
    57 }
  • 相关阅读:
    Nightmare Ⅱ HDU
    Full Tank? POJ
    2601 电路维修 (双端队列bfs优先队列bfs(最短路))
    Sudoku POJ
    Pushing Boxes POJ
    2501 矩阵距离 (bfs)
    【排序】绝境求生
    【排序】逆序对IV
    【排序】紧急集合
    【排序】常用排序法
  • 原文地址:https://www.cnblogs.com/LLGemini/p/3955125.html
Copyright © 2020-2023  润新知