zoukankan      html  css  js  c++  java
  • UVA 11181 Probability|Given

    UVA_11181

        设事件B为一共有r个人买了东西,设事件Ai为第i个人买了东西。

        那么这个题目实际上就是求P(Ai|B),而P(Ai|B)=P(AiB)/P(B),其中P(AiB)表示事件Ai与事件B同时发生的概率,同时总状态并不多,因此我们可以枚举买东西的状态预处理出P(AiB)和P(B),再代入计算即可。

    #include<stdio.h>
    #include<string.h>
    #define MAXD 25
    int N, R;
    double ap[MAXD], p[MAXD];
    void solve()
    {
    int i, j, k;
    double ans, rp = 0;
    for(i = 0; i < N; i ++)
    scanf("%lf", &p[i]);
    if(R == 0)
    {
    for(i = 0; i < N; i ++)
    printf("0.000000\n");
    return ;
    }
    memset(ap, 0, sizeof(ap));
    for(i = 0; i < (1 << N); i ++)
    {
    k = 0;
    for(j = 0; j < N; j ++)
    if((1 << j) & i)
    k ++;
    if(k == R)
    {
    ans = 1;
    for(j = 0; j < N; j ++)
    {
    if((1 << j) & i)
    ans *= p[j];
    else
    ans *= (1 - p[j]);
    }
    rp += ans;
    for(j = 0; j < N; j ++)
    if((1 << j) & i)
    ap[j] += ans;
    }
    }
    for(i = 0; i < N; i ++)
    printf("%.6lf\n", ap[i] / rp);
    }
    int main()
    {
    int t = 0;
    for(;;)
    {
    scanf("%d%d", &N, &R);
    if(!N && !R)
    break;
    printf("Case %d:\n", ++ t);
    solve();
    }
    return 0;
    }


  • 相关阅读:
    03-JS事件循环-宏任务与微任务
    10-Promise.all和Promise.race
    nodeJS-04
    nodeJS-03
    01-npm / npm install的过程 -nodemon 自动重启
    nodeJS-02
    nodeJS-01
    01-git
    比较运算符,in,instanceof——第十二级
    TCP(Transmission Control Protocol 传输控制协议)
  • 原文地址:https://www.cnblogs.com/staginner/p/2286032.html
Copyright © 2011-2022 走看看