HDU

来源:互联网 发布:美工要学什么软件 编辑:程序博客网 时间:2024/06/12 22:27

题意

有一个骰子有n个面,掷到每一个面的概率是相等的,每一个面上都有相应的钱数。其中当你掷到某些面 一共m个面之一时,你有多掷一次的机会。问最后所得钱数的期望。

分析

数学期望是什么 数学期望就是一种加权平均值
什么意思
数学期望 就是我们做事情的一种期望值 由于不确定性 我们用这个期望值去描述他
这个值对于离散型随机变量来说就是
均值
也就是 sigma 每种可能的权*这种可能的概率
实验结果的均值 本质上来讲就是一个期望值
本题让我们求期望
我们分析设本题的数学期望是X
由于数学期望是要统计所有情况的期望加和 也就是所有情况的均值加和
我们可知 由特殊面之和概率p1+ 非特殊面之和 概率p2 + 选了特殊面重新掷 * p3
p1 = p2 = 1/n
p3 = 就等于所有这些加起来 表示重新掷 的数学期望 * 重新掷的概率
那么X = (sum)/n +(sum)/n + Xm/n

化简发现其实就是sum/(nm)
当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;}

一开始怎么也写不出 还是概率学得不好。。。