HDU - 4586 数学期望
題意
有一個(gè)骰子有n個(gè)面,擲到每一個(gè)面的概率是相等的,每一個(gè)面上都有相應(yīng)的錢數(shù)。其中當(dāng)你擲到某些面 一共m個(gè)面之一時(shí),你有多擲一次的機(jī)會(huì)。問最后所得錢數(shù)的期望。
分析
數(shù)學(xué)期望是什么 數(shù)學(xué)期望就是一種加權(quán)平均值 
 什么意思 
 數(shù)學(xué)期望 就是我們做事情的一種期望值 由于不確定性 我們用這個(gè)期望值去描述他 
 這個(gè)值對(duì)于離散型隨機(jī)變量來說就是 
 均值 
 也就是 sigma 每種可能的權(quán)*這種可能的概率 
 實(shí)驗(yàn)結(jié)果的均值 本質(zhì)上來講就是一個(gè)期望值 
 本題讓我們求期望 
 我們分析設(shè)本題的數(shù)學(xué)期望是X 
由于數(shù)學(xué)期望是要統(tǒng)計(jì)所有情況的期望加和 也就是所有情況的均值加和 
我們可知 由特殊面之和概率p1+ 非特殊面之和  概率p2 + 選了特殊面重新擲 * p3 
p1 = p2 = 1/n  
p3 = 就等于所有這些加起來 表示重新擲 的數(shù)學(xué)期望 * 重新擲的概率 
那么X = (sum那些非特殊面之和)/n +(sum特殊面之和)/n + X?m/n 
化簡(jiǎn)發(fā)現(xiàn)其實(shí)就是sum/(n?m) 
 當(dāng)n==m的時(shí)候輸出inf
code
#include<bits/stdc++.h>; using namespace std; int main() {int n,m;while(~scanf("%d",&n)){int x,sum=0;for(int i=1;i<=n;i++){scanf("%d",&x);sum+=x;}scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d",&x);}if(sum==0){//當(dāng)權(quán)值和為0的時(shí)候 也就是0.00 printf("0.00\n");continue;}else if(n==m){puts("inf");continue;}else {printf("%.2lf\n",(double)sum/(n-m));}}return 0; }一開始怎么也寫不出 還是概率學(xué)得不好。。。
總結(jié)
以上是生活随笔為你收集整理的HDU - 4586 数学期望的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: [Leedcode][JAVA][第12
 - 下一篇: 递归函数(九):最小不动点定理