题意
有一个骰子有n个面,掷到每一个面的概率是相等的,每一个面上都有相应的钱数。其中当你掷到某些面 一共m个面之一时,你有多掷一次的机会。问最后所得钱数的期望。
分析
数学期望是什么 数学期望就是一种加权平均值
什么意思
数学期望 就是我们做事情的一种期望值 由于不确定性 我们用这个期望值去描述他
这个值对于离散型随机变量来说就是
均值
也就是 sigma 每种可能的权*这种可能的概率
实验结果的均值 本质上来讲就是一个期望值
本题让我们求期望
我们分析设本题的数学期望是X
由于数学期望是要统计所有情况的期望加和 也就是所有情况的均值加和
我们可知 由特殊面之和概率p1+ 非特殊面之和 概率p2 + 选了特殊面重新掷 * p3
p1 = p2 = 1/n
p3 = 就等于所有这些加起来 表示重新掷 的数学期望 * 重新掷的概率
那么
化简发现其实就是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;
}
一开始怎么也写不出 还是概率学得不好。。。