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& ...
随机推荐
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 各位好,LZ今天给各位分享一 ...
- 系统升级日记(2)- 升级到SharePoint Server 2013
最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...
- [poj2484]A Funny Game(对称博弈)
题目:http://poj.org/problem?id=2484 题意:n个石子围成一个圈,两个人轮流取,每次可以取一个石子或者相邻的两个石子,问先手胜还是后手胜 分析: 典型的对称博弈 如果n&g ...
- 1121高性能MySQL之运行机制
本文来自于拜读<高性能MySQL(第三版)>时的读书笔记作者:安明哲转载时请注明部分内容来自<高性能MySQL(第三版)> MySQL的逻辑构架 MySQL服务器逻辑架构 最上 ...
- Tomcat5通过cardadm.xml启动项目
配置tomcat5\conf\Catalina\localhost下的 cardadm.xml ,然后在MyEclipse中,直接启动Tomcat5,不需要部署项目
- xml文件的生成与解析
生成方法一:同事StringBuffer类对xml文件格式解析写入 package com.steel_rocky.xml; import android.app.Activity; import a ...
- oracle数据泵实现不同用户之间的导出导入
来源于:http://www.cnblogs.com/kevinsun/archive/2007/02/03/638803.aspx http://blog.sina.com.cn/s/blog_68 ...
- jQuery自定义插件
jQuery自定义插件 jQuery自定义插件按照功能分类,可以分为三类, 1>封装对象方法的插件,(也就是基于某个DOM元素的jQuery对象,局部的) 2>封装全局函数的插件, ( ...
- confluence的安装、备份和恢复(wiki)
还有一种比较不错的wiki工具MediaWiki 安装教程参考 http://pangge.blog.51cto.com/6013757/1560249 我是按照上面的教程搭建的 还有几篇不错的文章 ...
- [转]JS中对象与字符串的互相转换
原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...