关于期望
  • 板块学术版
  • 楼主zengwei
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/7/5 23:28
  • 上次更新2023/11/4 18:34:22
查看原帖
关于期望
55886
zengwei楼主2021/7/5 23:28

今天做英语七选五的时候突发奇想:不重复地乱填五个选项,期望对几个?

然后发现这个问题并没有想象中的那么简单......回家打开C++一通暴算得到答案5/7

打了个表发现这好像不是偶然,但我证不出来qaq

于是求dalao给出证明:

若有n道题目,m个选项。当n>=m时,每个选项对应一道题目且没有一道题目对应两个或更多选项;当n<m时则相反。记X为任意按顺序给出min(n,m)个选项并依次填入题目时题目与选项配对成功数,则P(X)=n/m

附上本蒟蒻的打表程序(总不会是写挂了吧):

#include<bits/stdc++.h>
using namespace std;
bool v[100];int l[100],cnt[100],n,m,p,q;
void dfs(int k,int tot){
    if(k==n+1){
        cnt[tot]++;
        return;
    }
    for(int i=1;i<=m;i++)if(!v[i]){
        if(i==k)tot++;
        v[i]=true;
        dfs(k+1,tot);
        v[i]=false;
        if(i==k)tot--;
    }
}
int main(){
    for(n=1;n<=12;n++)//题目 
    for(m=1;m<=12;m++){//选项 
        memset(cnt,0,sizeof(cnt));p=0;q=1;
        dfs(1,0);
        for(int i=0;i<=n;i++)p+=i*cnt[i];//期望的分子 
        for(int i=m;i>=m-n+1;i--)q*=i;//排列 
        if(1.00*p/q-1.00*n/m>1e-5){
            printf("error %d %d",n,m);
            return 0;
        }
        printf("%d %d\n",n,m);
    }
    printf("perfect");
}
2021/7/5 23:28
加载中...