枚举,条件概率。

2^20次方等于100w,是大约可以没准还能过的。

二进制枚举时,如果买东西的人恰好为r个,设概率为p,就将sum[i]+=p(sum[i]为r个人买东西时第i个人买东西的概率),tot+=p(tot为r个人买东西的概率)

要求的就是sum[i]/tot。

P(第i个人实际买东西)=P(r个人买东西且第i个人在其中)/P(r个人买东西)。

r为0时特判

  1. #include<cstdio>
  2. #include<algorithm>
  3. #include<cstring>
  4. using namespace std;
  5. const int maxn = 20 + 10;
  6. int n,r,N,cnt,kase;
  7. double a[maxn],sum[maxn];
  8. double tot,p;
  9.  
  10. int main() {
  11. kase=0;
  12. while(scanf("%d%d",&n,&r)==2) {
  13. printf("Case %d:\n",++kase);
  14. if(!n&&!r) break;
  15. for(int i=0;i<n;i++) scanf("%lf",&a[i]);
  16. if(!r) {
  17. for(int i=0;i<n;i++) printf("0.000000\n");
  18. continue;
  19. }
  20. N=1<<n;
  21. memset(sum,0,sizeof(sum)); tot=0;
  22. for(int i=1;i<N;i++) {
  23. cnt=0; p=1;
  24. for(int j=0;j<n;j++) {
  25. if(i&(1<<j)) {cnt++; p*=a[j];}
  26. else p*=(1-a[j]);
  27. }
  28. if(cnt==r) {
  29. for(int j=0;j<n;j++) if(i&(1<<j)) sum[j]+=p;
  30. tot+=p;
  31. }
  32. }
  33. for(int i=0;i<n;i++) printf("%.6lf\n",sum[i]/tot);
  34. }
  35. return 0;
  36. }

uva11181Probability|Given的更多相关文章

  1. UVA11181Probability|Given(条件概率)

    题目链接 紫书P327 题意:有n个人准备去超市逛,其中第i个人买东西的概率是 Pi .逛完以后你得知有 r 个人买了东西.根据这一信息,计算每个人实际买东西的概率.输入 n ( 1 <= n ...

随机推荐

  1. Useful related java API for Android

    Language_suport and Other Language-Oriented API: strings,exceptions, threads, #java.lang.* offers th ...

  2. iOS上用FTGL显示定制Truetype字体碰到的问题

    没想到这个问题搞了快2个月时间:当然跟我只是断断续续地工作有关. FTGL是freetype的opengl实现.我接触FTGL最初只是为了练习OpenGL,写几个简单的游戏app.开始试了试FTGL觉 ...

  3. 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。

    // ConsoleApplication2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include "stdafx.h ...

  4. c#中获取服务器IP,客户端IP以及其它

    客户端ip:Request.ServerVariables.Get("Remote_Addr").ToString();客户端主机名:Request.ServerVariables ...

  5. zend studio 10 字体,颜色,快捷键等相关设置

    一.修改字体 没想到zend studio 10中对中文显示不太好看,似乎有点小了.修改如下:打开 Window->Preferences->General->Appearance- ...

  6. PHP 性能分析与实验(二)——PHP 性能的微观分析

    [编者按]此前,阅读过了很多关于 PHP 性能分析的文章,不过写的都是一条一条的规则,而且,这些规则并没有上下文,也没有明确的实验来体现出这些规则的优势,同时讨论的也侧重于一些语法要点.本文就改变 P ...

  7. **tomcat简介之web.xml详解

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  8. ios 关于StoryBoard 的简易使用说明

    ios 关于StoryBoard 的简易使用说明 http://www.tuicool.com/articles/FNRruy

  9. nohup 程序名 & (使程序推到后台运行,即使终端关闭,该程序依然运行)

    IshallbeThatIshallbe:~ iamthat$ ps -ef |grep ping 502 450 1 0 9:30PM ?? 0:00.05 ping www.baidu.com 5 ...

  10. C++客户端程序(socket)

    // MyClient.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h"#include "stdio.h"#include ...