Topcoder SRM 626 DIV2 FixedDiceGameDiv2

OpenSoucre發表於2014-06-29

典型的條件概率題目。

事件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;
    }

 

相關文章