Topcoder SRM 626 DIV2 FixedDiceGameDiv2

典型的条件概率题目。

事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。

若只有两个事件A,B,那么,
P(A|B)=P(AB)/P(B)
本题的设事件Alice赢为B,事件Alice投掷数字x为A,则事件Alice投掷数字x且赢为AB
则求在Alice赢的条件下求Alice投掷的数字,即求P(A|B);根据上面公式求解即可
    double getExpectation(int a, int b) {
        double B = 0,AB = 0;
        double prob_a = 1.0/a,prob_b = 1.0/b;
        for(int i = 1; i <=a; ++ i){
            for(int j = 1; j< i && j <= b; ++ j){
                B += prob_a*prob_b;
                AB+=i*prob_a*prob_b;
            }
        }
        return AB/B;
    }

 

posted @ 2014-06-29 14:44  OpenSoucre  阅读(199)  评论(0编辑  收藏  举报