poj2151概率入门
来源:互联网 发布:adobe杀人软件 编辑:程序博客网 时间:2024/06/06 01:20
题目大意
有t支队伍要比赛,做m道题,已知i队伍做j题做对的几率p[i][j],求所有队伍至少做一题并且冠军至少做n题的概率
题目分析
用f[i][j][k]表示第i支队伍做前j题做对k题的概率,那么
那么每支队伍至少做一题的概率p1应该是(1-每支队伍一题都做不出的概率)的积嘛。
那么每支队伍都做出1到n-1题的概率是p2=
如果是G++最后输出要是”%.3f”
代码
#include<iostream>#include<cstdio>#include<climits>#include<algorithm>#include<cstring>#include<cmath>#include<vector>using namespace std;int m,t,n;double p[1005][50],f[50][50];int main(){ int i,j,k,x,y; while(1){ double p1=1.0,p2=1.0; scanf("%d%d%d",&m,&t,&n); if(!m&&!t&&!n)break; for(i=1;i<=t;i++){ double tmp=1.0; for(j=1;j<=m;j++){scanf("%lf",&p[i][j]);tmp*=(1.0-p[i][j]);} p1=p1*(1.0-tmp); } for(i=1;i<=t;i++){ memset(f,0,sizeof(f)); f[0][0]=1.0; for(j=1;j<=m;j++){ f[j][0]=f[j-1][0]*(1.0-p[i][j]); for(k=1;k<=j;k++) f[j][k]=f[j-1][k]*(1.0-p[i][j])+f[j-1][k-1]*p[i][j]; } double tmp=0; for(j=1;j<=n-1;j++)tmp+=f[m][j]; p2*=tmp; } printf("%.3f\n",p1-p2); } return 0;}
阅读全文
0 0
- poj2151概率入门
- 概率dp入门[HDU5001][POJ2151][POJ3071][HDU3853][POJ2096]
- poj2151 dp求概率
- poj2151(概率DP)
- poj2151之概率DP
- POJ2151 概率题
- poj2151 概率dp
- poj2151(概率dp题吧)
- poj2151概率dp
- poj2151(概率dp)
- poj2151 数学+概率dp
- [POJ2151]check the difficulty-概率DP
- poj2151
- poj2151
- poj2151
- poj2151
- poj2151
- POJ2151
- RxJava2.0的使用-2
- 海尔COSMOPlat: 世界智能制造的新坐标
- js删除数组元素,快捷方便,删除对象属性
- 机器学习笔记---决策树
- Android中SQL的使用与详解
- poj2151概率入门
- linux服务器上文件编码格式转化shell
- jQuery选择器之可见性筛选选择器
- 如何修改设备的IP,组建网络
- 用相机功能之后,我的listView的getView居然会自动走????
- Eclipse完美安装Emmet插件
- ubuntu+django+apache+mod_wgsi部署
- 模拟多客户端进行TCP连接[Java]
- MBO美博空调,最低1120起