POJ 2151 Check the difficulty of problems
以前做过的题目了。。。。补集+DP
| Time Limit: 2000MS | Memory Limit: 65536K | |
| Total Submissions: 4091 | Accepted: 1811 |
Description
1. All of the teams solve at least one problem.
2. The champion (One of those teams that solve the most problems) solves at least a certain number of problems.
Now the organizer has studied out the contest problems, and through the result of preliminary contest, the organizer can estimate the probability that a certain team can successfully solve a certain problem.
Given the number of contest problems M, the number of teams T, and the number of problems N that the organizer expect the champion solve at least. We also assume that team i solves problem j with the probability Pij (1 <= i <= T, 1<= j <= M). Well, can you calculate the probability that all of the teams solve at least one problem, and at the same time the champion team solves at least N problems?
Input
Output
Sample Input
2 2 2
0.9 0.9
1 0.9
0 0 0
Sample Output
0.972
Source
POJ Monthly,鲁小石
#include <iostream>
#include <cstdio>
#include <cstring> using namespace std; int M,T,N;
double a[][][],s[][],p1,pn,solve[][]; int main()
{
while(~scanf("%d%d%d",&M,&T,&N))
{
if((M||T||N)==) break;
for(int i=;i<=T;i++) for(int j=;j<=M;j++) scanf("%lf",&solve[i][j]);
memset(a,,sizeof(a)); memset(s,,sizeof(s));
for(int i=;i<=T;i++)
{
a[i][][]=;
for(int j=;j<=M;j++)
{
a[i][j][]=a[i][j-][]*(-solve[i][j]);
}
}
for(int i=;i<=T;i++)
{
for(int j=;j<=M;j++)
{
for(int k=;k<=j;k++)
{
a[i][j][k]=a[i][j-][k-]*solve[i][j]+a[i][j-][k]*(-solve[i][j]);
}
}
}
for(int i=;i<=T;i++)
{
s[i][]=a[i][M][];
for(int j=;j<=M;j++)
{
s[i][j]=s[i][j-]+a[i][M][j];
}
}
p1=pn=.;
for(int i=;i<=T;i++)
{
p1*=s[i][M]-s[i][];
pn*=s[i][N-]-s[i][];
}
printf("%.3lf\n",p1-pn);
}
return ;
}
POJ 2151 Check the difficulty of problems的更多相关文章
- POJ 2151 Check the difficulty of problems 概率dp+01背包
题目链接: http://poj.org/problem?id=2151 Check the difficulty of problems Time Limit: 2000MSMemory Limit ...
- POJ 2151 Check the difficulty of problems (动态规划-可能DP)
Check the difficulty of problems Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4522 ...
- [ACM] POJ 2151 Check the difficulty of problems (概率+DP)
Check the difficulty of problems Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 4748 ...
- poj 2151 Check the difficulty of problems(概率dp)
poj double 就得交c++,我交G++错了一次 题目:http://poj.org/problem?id=2151 题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 问 ...
- POJ 2151 Check the difficulty of problems:概率dp【至少】
题目链接:http://poj.org/problem?id=2151 题意: 一次ACM比赛,有t支队伍,比赛共m道题. 第i支队伍做出第j道题的概率为p[i][j]. 问你所有队伍都至少做出一道, ...
- POJ 2151 Check the difficulty of problems (概率DP)
题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 ,求每队至少解出一题且冠军队至少解出N道题的概率. 析:概率DP,dp[i][j][k] 表示第 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
http://poj.org/problem?id=2151 题意:T个队伍M条题目,给出每个队伍i的每题能ac的概率p[i][j],求所有队伍至少A掉1题且冠军至少A掉N题的概率(T<=100 ...
- Check the difficulty of problems(POJ 2151)
Check the difficulty of problems Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5457 ...
随机推荐
- 常用sql语句整理[SQL Server]
1. 存储过程 CREATE PROCEDURE [dbo].[bbs_move_createtopic] @fid smallint, @iconid smallint, @curtid INT O ...
- Sublime Text以及Package Control安装方法
官方下载:Sublime Text 中国论坛:Sublime 论坛 Sublime Text 是一个代码编辑器,具有漂亮的用户界面和强大的功能,并且它还是一个跨平台的编辑器,同时支持Windows.L ...
- Possion 分布
泊松分布的概率函数为: \[P(X=k)=\frac{\lambda^k}{k!}e^{-\lambda},k=0,1,2,\cdots\] 如果 $X_i \sim P(\lambda_i)$,并 ...
- 初始化Git的配置
如何使用Git上传项目代码到github http://blog.csdn.net/llf369477769/article/details/51917557
- EasyUI——常见用法总结
1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我们可以对easyui组件的实例化可以完全写 ...
- iOS qrcode 默认尺寸与修改
四种容错格式的尺寸:27.31.31.35. // 5.将CIImage转换成UIImage,并放大显示 UIImage *imagex = [UIImage imageWithCIImage:out ...
- Ubuntu 12.04 root账户开启及密码重设
以普通用户登录,root账号的开启.关闭和密码设置,命令如下: sudo passwd -u root # 启用root账户 sudo passwd root # 设置root 密码(包括重设) su ...
- const 和 readonly 修饰符的用法
1. 只有C#内置类型(int,double,long等)可以声明为const;结果.类和数组不能声明为const. 2. readonly 是在字段上使用的修饰符,直接以类名.字段访问. 3. co ...
- MyISAM与InnoDB两者之间怎么选择
1.MyISAM不支持事务,InnoDB是事务类型的存储引擎 当我们的表需要用到事务支持的时候,那肯定是不能选择MyISAM了. 2.MyISAM只支持表级锁,BDB支持页级锁和表级锁默认为页级锁,而 ...
- 记录s标签范例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...