[POJ2151]Check the difficulty of problems(概率DP)
传送门
每个队之间是独立的
f[i][j]表示当前队伍前i个题答对j个的概率
满足条件的概率 == 全部方案(除去答对0)的概率 - 不满足条件的概率(每个队伍答对1~n-1)
#include <cstdio>
#include <cstring>
#define N 101int m, t, n;
double sum, p1, p2, f[N][N];int main()
{int i, j, k;double x;while(~scanf("%d %d %d", &m, &t, &n) && (n + m + t)){p1 = p2 = 1;for(i = 1; i <= t; i++){memset(f, 0, sizeof(f));f[0][0] = 1;for(j = 1; j <= m; j++){scanf("%lf", &x);for(k = 0; k <= j; k++){if(k) f[j][k] += f[j - 1][k - 1] * x;f[j][k] += f[j - 1][k] * (1.0 - x);}}sum = 0;for(j = 1; j < n; j++) sum += f[m][j];p1 *= 1.0 - f[m][0];p2 *= sum;}printf("%.3lf\n", p1 - p2);}return 0;
}
转载于:https://www.cnblogs.com/zhenghaotian/p/7577210.html
[POJ2151]Check the difficulty of problems(概率DP)相关推荐
- POJ-2151 Check the difficulty of problems 概率DP
题目链接:http://poj.org/problem?id=2151 组合数做肯定超时,容易看出是DP.f[i][j]表示某个队的前j个题目做出i个题目的概率,则f[i][j]=f[i][j-1]* ...
- Check the difficulty of problems (概率dp求概率)
Check the difficulty of problems POJ - 2151 大致题意: m个问题,t个队伍,要求冠军队伍至少解决n个问题,给出每个队伍解决每个问题的概率 求每一个队至少解决 ...
- 【POJ - 2151】Check the difficulty of problems(概率dp)
题干: Organizing a programming contest is not an easy job. To avoid making the problems too diffic ...
- Check the difficulty of problems - poj 2151 (概率+DP)
有 T(1<T<=1000) 支队伍和 M(0<M<=30) 个题目,已知每支队伍 i 解决每道题目 j 的的概率 p[i][j],现在问:每支队伍至少解决一道题,且解题最多的 ...
- POJ 2151 Check the difficulty of problems (概率dp)
题意:给出m.t.n,接着给出t行m列,表示第i个队伍解决第j题的概率. 现在让你求:每个队伍都至少解出1题,且解出题目最多的队伍至少要解出n道题的概率是多少? 思路:求补集. 即所有队伍都解出题目的 ...
- poj 2151 Check the difficulty of problems
题意:有m到题,t个队伍,给出第 i 支队作出 第 j 道题的概率 Pij.求每个队至少作出一道题,作出最多的那个队伍至少作出 n 道题的概率. dp[i][j][k]表示第 i 支队前 j 道题作出 ...
- 【原创】概率DP总结 by kuangbin
概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...
- 动态规划报告(树形DP+概率DP
动态规划报告 树形dp 树形 DP,即在树上进行的 DP.由于树固有的递归性质,树形 DP 一般都是递归进行的.一般需要在遍历树的同时维护所需的信息 以一道题目为例 2022CCPC桂林站G Grou ...
- 2018.09.01 poj3071Football(概率dp+二进制找规律)
传送门 概率dp简单题. 设f[i][j]表示前i轮j获胜的概率. 如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足: (j−1)>>(i−1)(j−1)>>(i−1) ...
最新文章
- 通过Java代码实现图片的放大和缩小
- linux qt 生成word,Qt 生成word、pdf文檔
- Source Insight 经典教程
- mysql insert union_在MySQL中使用INSERT INTO SELECT和UNION执行多次插入
- python3 判断字符串是否包含指定字符
- session不是线程安全的
- 杭电1978java实现
- AR/QCA SPI 启动原理和 ART 地址定位原理
- vs安卓开发发布_向华为的鸿蒙看齐,谷歌发布全新系统,手机电脑通用
- 单调栈思维 2021年度训练联盟热身训练赛第三场——K题	Summer Trip
- 100份Spring面试问答-最终名单(PDF下载)
- Unix/Linux/BSD 它们之间的关系以及各自派系的介绍
- 一统江湖的大前端(7)React.js-从开发者到工程师
- 安卓rtmp推流app_同城直播电商APP小程序平台开发
- 赫夫曼树的定义及原理
- 谷歌插件--SuperCopy(解决网页中文字不可复制的问题)
- Scala编程思想高清中文版PDF
- 《生物化学与分子生物学》----糖酵解,柠檬酸---听课笔记(十五)
- AssetBundle(一)——AssetBundle介绍
- 实分析斯坦恩中文版_如何评价Stein的实分析以及复分析翻译版本?
热门文章
- vector 删除指定元素_std::vector简介
- python 形参_python中参数总结
- 在Swift中使用C语言的指针
- C语言变量的定义包括变量存储类型和变量的什么?
- java中什么表示打印_在java中打印对象时会发生什么
- 光学模拟 Android,基于Android平台的光学字符识别应用的设计与实现
- addcslashes php,php addcslashes函数怎么用
- 怎么解决交换机端口不正常问题?
- 【渝粤教育】国家开放大学2018年秋季 3781-22T燃气燃烧技术与设备 参考试题
- game,match,competition,contest区别