博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa11181 条件概率
阅读量:6831 次
发布时间:2019-06-26

本文共 974 字,大约阅读时间需要 3 分钟。

原题链接:

解析:求每个人实际买了东西的概率,就是求第i个人买了东西的情况下有r个人买了东西。设有r个人买东西为事件E,第i个人买东西为事件Ei。那么要求的就是p( Ei  E ) = p( E * Ei) / p( E )

代码实例:

#include
#include
const int maxn = 20 + 5;int n, r, buy[maxn];double P[maxn], sum[maxn];// depth, current number of 1, and product of probsvoid dfs(int d, int c, double prob) { if(c > r || d - c > n - r) return; // too many 1/0 if(d == n) { sum[n] += prob; for(int i = 0; i < n; i++) if(buy[i]) sum[i] += prob; return; } buy[d] = 0; dfs(d+1, c, prob*(1-P[d])); buy[d] = 1; dfs(d+1, c+1, prob*P[d]);}int main() { int kase = 0; while(scanf("%d%d", &n, &r) == 2 && n) { for(int i = 0; i < n; i++) scanf("%lf", &P[i]); memset(sum, 0, sizeof(sum)); dfs(0, 0, 1.0); printf("Case %d:\n", ++kase); for(int i = 0; i < n; i++) printf("%.6lf\n", sum[i] / sum[n]); } return 0;}

其中sum[i]为第i个人买东西且有r个人买东西的概率,即p( Ei E)。sum[n]为有r个人买东西的概率,即p( E )。

转载于:https://www.cnblogs.com/long98/p/10352212.html

你可能感兴趣的文章
android中给TextView或者Button的文字添加阴影效果
查看>>
读《被投资人“送”入看守所》一文有感(转)
查看>>
生产环境线上測试的慘淡人生
查看>>
代码阅读分析工具Understand 2.0试用
查看>>
Linux Load average负载详细解释
查看>>
Android多媒体框架图
查看>>
jps命令使用
查看>>
ADC In An FPGA
查看>>
在 Windows上配置NativeScript CLI
查看>>
ubuntu14.04 qt4 C++开发环境搭建
查看>>
iOS 通讯录-获取联系人属性
查看>>
HTML5 文件域+FileReader 读取文件(一)
查看>>
不要让你的未来,现在恨自己
查看>>
jquery表单验证
查看>>
使用 Jasmine 进行测试驱动的 JavaScript 开发
查看>>
[CareerCup] 8.2 Call Center 电话中心
查看>>
GestureDetector和SimpleOnGestureListener的使用教程
查看>>
【FFmpeg】Windows下FFmpeg编译
查看>>
sqlserver字段类型详解
查看>>
Java多线程16:线程组
查看>>