UVA11181Probability|Given(条件概率)
紫书P327
题意:有n个人准备去超市逛,其中第i个人买东西的概率是 Pi 。逛完以后你得知有 r 个人买了东西。根据这一信息,计算每个人实际买东西的概率。输入 n ( 1 <= n <= 20 )和r( 0 <= r <= n) 输出每个人实际买了的东西概率
分析: “ r 个人买了东西 ” 这个事件叫做E, “ 第 i 个人买东西 ”这个事件叫做 Ei ,要求的就是 P( Ei | E ) = P ( Ei E) / P ( E ) ;
P(E)的求法利用全概率公式,每一种可能的情况的概率相加,假设 n = 4, r = 2, 有6中可能:1100,1010,1001,0110,0101,0011,其中1100的概率就是P1 * P2 * ( 1 - P3) * ( 1 - P4), 其他的类似,假设求 P ( E1 E ) 就等于所有 P1 被访问过的,即等于1的每种可能之和,sum[ i ] 表示 vis[ i ] = 1 的概率之和,tot表示总概率和
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int Max = ;
double p[Max],sum[Max],tot;
int n,r;
int vis[Max],A[Max];
void dfs(int cur, int cnt)
{
if(cnt == r)
{
double ans = ;
for(int i = ; i <= n; i++)
{
if(vis[i])
{
ans *= p[i];
}
else
{
ans *= ( - p[i]);
}
}
for(int i = ; i <= n; i++)
{
if(vis[i])
{
sum[i] += ans;
}
}
tot += ans;
}
for(int i = cur + ; i <= n; i++)
{
if(vis[i] == )
{
vis[i] = ;
A[cnt + ] = i;
dfs(i, cnt + );
vis[i] = ;
}
}
}
int main()
{
int test = ;
while(scanf("%d%d", &n, &r) != EOF)
{
if(n == && r == )
break;
for(int i = ; i <= n; i++)
{
scanf("%lf", &p[i]);
}
memset(vis, , sizeof(vis));
memset(sum, , sizeof(sum));
tot = ;
dfs(,);
printf("Case %d:\n", ++test);
for(int i = ; i <= n; i++)
{
printf("%.6lf\n", sum[i] / tot);
}
}
return ;
}
UVA11181Probability|Given(条件概率)的更多相关文章
- 布朗语料库中条件概率分布函数ConditionalFreqDist使用
布朗语料库中使用条件概率分布函数ConditionalFreqDist,可以查看每个单词在各新闻语料中出现的次数.这在微博情感分析中非常有用,比如判断feature vector中代表positive ...
- UVa 11181 条件概率
题意:n个人选r个人,每个人被选中的概率为pi,问最后每个人被选中的概率是多少. sol:就是个简单的概率题,范围还特别小,深搜秒出...然而公式什么的很多还是需要注意的... 条件概率的公式 ...
- uva11181Probability|Given
枚举,条件概率. 2^20次方等于100w,是大约可以没准还能过的. 二进制枚举时,如果买东西的人恰好为r个,设概率为p,就将sum[i]+=p(sum[i]为r个人买东西时第i个人买东西的概率),t ...
- 学习笔记DL008:概率论,随机变量,概率分布,边缘概率,条件概率,期望、方差、协方差
概率和信息论. 概率论,表示不确定性声明数学框架.提供量化不确定性方法,提供导出新不确定性声明(statement)公理.人工智能领域,概率法则,AI系统推理,设计算法计算概率论导出表达式.概率和统计 ...
- 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!
13张动图助你彻底看懂马尔科夫链.PCA和条件概率! https://mp.weixin.qq.com/s/ll2EX_Vyl6HA4qX07NyJbA [ 导读 ] 马尔科夫链.主成分分析以及条件概 ...
- 【概率论】条件概率 & 全概率公式 & 朴素贝叶斯公式
0. 说明 条件概率 & 全概率公式 & 朴素贝叶斯公式 学习笔记 参考 scikit-learn机器学习(五)--条件概率,全概率和贝叶斯定理及python实现 1. 条件概率 [定 ...
- "二阶“条件概率
公式: P(E|F)=P(E|GF)P(G|F)+P(E|GcF)P(Gc|F) 解释: 已知F发生,E发生的条件概率为P(E|F). 现在多考虑一个条件G,G可能发生也可能不发生. 若F已发生条件下 ...
- Probability|Given UVA - 11181(条件概率)
题目大意:n个人去购物,要求只有r个人买东西.给你n个人每个人买东西的概率,然后要你求出这n个人中有r个人购物并且其中一个人是ni的概率pi. 类似于5个人中 抽出三个人 其中甲是这三个人中的一个的 ...
- UVa 11181 - Probability|Given(条件概率)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
随机推荐
- Euler Level 2
闲下来的时候就做点,慢慢的也终于到达Level 2了.
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- Java面试常考知识点
1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Jav ...
- 我的一个小作品 android App ---校园资讯助手
软件主界面采用Fragment+ViewPager组成.在点开后将会自动对学校新闻页面使用URl类来抓取,然后对网页中的信息提取,使用WebView来loadData在主界面上面显示, 为了使 ...
- zabbix监控网络的出入口流量
首先我们登录到zabbix 点击配置---->模板-->Template OS Linux 下的监控项 点击右上角的添加监控项目 我们的服务器是在Ucloud上的,我们的网卡名称为eth0 ...
- 【转】如何建立一个样式新颖的CSS3搜索框
在线演示 搜索框大概是web开发中最常用的UI元素之一,我想基本没有必要去介绍如何使用它.无论是网站还是web应用,都会为了增强用户体验而添加它,那么你是不是也想过设计一个别致的搜索框? 在今天的文章 ...
- 【CodeVS 1163】访问艺术馆
http://codevs.cn/submission/2367697/ loli蜜汁(面向高一)树形dp是这道题的改编. 改编后的题目中每个展览厅的有多个不同的画,偷画的时间和画的价值也不同,求最大 ...
- ELK系统中kibana展示数据的时区问题
在采用ELK记录系统日志时,日志存入elasticsearch时,一般是以本地时区存入(如北京东8区) 在elasticsearch中直接查询时也没有任何问题,但是kibana在做日志展示时,对日志时 ...
- Android中图像变换Matrix的原理、代码验证和应用(三)
第三部分 应用 在这一部分,我们会将前面两部分所了解到的内容和Android手势结合起来,利用各种不同的手势对图像进行平移.缩放和旋转,前面两项都是在实践中经常需要用到的功能,后一项据说苹果也是最近才 ...
- dede使用方法----调用列表页的分页功能
分页的标签:<div class="dede_pages"> <ul class="pagelist"> {dede:pagelist ...