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天后死亡,即可得代码如下

 #include <iostream>
#include <sstream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <cctype>
#include <algorithm>
#include <cmath>
#include <deque>
#include <queue>
#include <map>
#include <stack>
#include <list>
#include <iomanip> using namespace std; #define INF 0xffffff7
#define maxn 310
typedef unsigned long long ull;
/*
每只毛球族都只产生自己的后代,所以可以独立计算,f[i]表示1只毛球族i天后死亡的概率,最后的结果就是f(m)^k
对于每只毛球族后代又可以独立计算,所以
f[i]=p[0]+p[1]*f[i-1]+p[2]*f[i-1]^2+...+p[n-1]*f[i-1]^n-1
就是说一只毛球族,i天后死亡的概率就是,它的后代i-1天都死亡的概率
*/
int main()
{
int T;
scanf("%d", &T);
for(int kase = ; kase <= T; kase++)
{
int n, k, m;
scanf("%d%d%d", &n, &k, &m);
double p[maxn];
for(int i = ; i < n; i++)
{
scanf("%lf", &p[i]);
}
double ans;
double f[maxn]; f[] = ;
f[] = p[];/*1只麻球1天后死亡的概率为p[0],即生出0只麻球的概率*/
for(int i = ; i <= m; i++)
{
f[i] = ;
for(int j = ; j < n; j++)
f[i] += p[j]*pow(f[i-], j);
}
printf("Case #%d: %.7lf\n", kase, pow(f[m], k));
}
return ;
}

UVA 11021 - Tribles(概率)的更多相关文章

  1. UVA 11021 - Tribles(概率递推)

    UVA 11021 - Tribles 题目链接 题意:k个毛球,每一个毛球死后会产生i个毛球的概率为pi.问m天后,全部毛球都死亡的概率 思路:f[i]为一个毛球第i天死亡的概率.那么 f(i)=p ...

  2. UVA - 11021 Tribles 概率dp

    题目链接: http://vjudge.net/problem/UVA-11021 Tribles Time Limit: 3000MS 题意 有k只麻球,每只活一天就会死亡,临死之前可能会出生一些新 ...

  3. UVa 11021 Tribles (概率DP + 组合数学)

    题意:有 k 只小鸟,每只都只能活一天,但是每只都可以生出一些新的小鸟,生出 i 个小鸟的概率是 Pi,问你 m 天所有的小鸟都死亡的概率是多少. 析:先考虑只有一只小鸟,dp[i] 表示 i 天全部 ...

  4. 概率dp - UVA 11021 Tribles

    Tribles Problem's Link: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33059 Mean: 有k个细 ...

  5. UVA 11021 Tribles(递推+概率)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33059 [思路] 递推+概率. 设f[i]表示一只Tribble经 ...

  6. UVA - 11021 - Tribles 递推概率

    GRAVITATION, n.“The tendency of all bodies to approach one another with a strengthproportion to the ...

  7. UVa 11021 - Tribles

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. Uva 11021(概率)

    题意:有k只麻球,每只只能活一天,但临死之前可能产生新麻球,生出i个麻球的概率为pi,给定m,求m天后所有麻球都死亡的概率 输入格式 输入一行为测试数据的组数T,每组数据第一行为3个整数n,k,m;已 ...

  9. UVa 11021 (概率 递推) Tribles

    Tribble是麻球? 因为事件都是互相独立的,所以只考虑一只麻球. 设f(i)表示一只麻球i天后它以及后代全部死亡的概率,根据全概率公式: f(i) = P0 + P1 * f(i-1) + P2 ...

随机推荐

  1. 数论——lucas定理

    网上证明很多,虽然没看懂.... 主要解决大组合数取模的情况 费马小定理求大组合数: a^(p-1)=1%p; 两边同除a a^(p-2)=1/a%p; C(n,m)= n!/(m!*(n-m)!) ...

  2. Android Viewpager PagerAdapter update data 刷新界面数据

    最近做的项目涉及到ViewPager数据刷新,网上的资料挺多,但是和现在做的这个不太相同,所以并没有找到有效的. 折腾了大半天,整理一下思路: 问题1: 后台刷新数据次数过多后,界面出现卡顿现象,判断 ...

  3. CUDA网格限制

    如图

  4. 二叉搜索树算法详解与Java实现

    二叉查找树可以递归地定义如下,二叉查找树或者是空二叉树,或者是满足下列性质的二叉树: (1)若它的左子树不为空,则其左子树上任意结点的关键字的值都小于根结点关键字的值. (2)若它的右子树不为空,则其 ...

  5. Spring基础知识汇总 Java开发必看

    Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版.Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅 ...

  6. Jquery Form表单元素对象化

    function serializeObject(form){ var o = {}; $.each(form.serializeArray(),function(index){ o[this['na ...

  7. (一)Bootstrap简介

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. Bootstrap优点: 移动设备优先:自 Boot ...

  8. oracle下的OVER(PARTITION BY)函数介绍

    转自:http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html OVER(PARTITION BY)函数介绍 开窗函数          ...

  9. Distributed systems

    http://book.mixu.net/distsys/single-page.html

  10. C# Firefox Session Manager 文件的导出与管理

    长时间使用Firefox会产生很多的session文件(使用了插件:Session Manager).这些文件保存了你浏览过的所有的网址.虽然我们可以使用firefox的书签功能.但有时候打开的网址过 ...