HDU - 4586 数学期望
生活随笔
收集整理的這篇文章主要介紹了
HDU - 4586 数学期望
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意
有一個骰子有n個面,擲到每一個面的概率是相等的,每一個面上都有相應的錢數。其中當你擲到某些面 一共m個面之一時,你有多擲一次的機會。問最后所得錢數的期望。
分析
數學期望是什么 數學期望就是一種加權平均值
什么意思
數學期望 就是我們做事情的一種期望值 由于不確定性 我們用這個期望值去描述他
這個值對于離散型隨機變量來說就是
均值
也就是 sigma 每種可能的權*這種可能的概率
實驗結果的均值 本質上來講就是一個期望值
本題讓我們求期望
我們分析設本題的數學期望是X
由于數學期望是要統計所有情況的期望加和 也就是所有情況的均值加和
我們可知 由特殊面之和概率p1+ 非特殊面之和 概率p2 + 選了特殊面重新擲 * p3
p1 = p2 = 1/n
p3 = 就等于所有這些加起來 表示重新擲 的數學期望 * 重新擲的概率
那么X = (sum那些非特殊面之和)/n +(sum特殊面之和)/n + X?m/n
化簡發現其實就是sum/(n?m)
當n==m的時候輸出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){//當權值和為0的時候 也就是0.00 printf("0.00\n");continue;}else if(n==m){puts("inf");continue;}else {printf("%.2lf\n",(double)sum/(n-m));}}return 0; }一開始怎么也寫不出 還是概率學得不好。。。
總結
以上是生活随笔為你收集整理的HDU - 4586 数学期望的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Leedcode][JAVA][第12
- 下一篇: 递归函数(九):最小不动点定理