• 面试过程中有趣的概率问题(坐飞机、扑克牌)


    扑克牌

    54张扑克,平均分给三人,大小王在一个人手里的概率

    这个可以直接组合数计算,我们把这两张牌拿出来,就是16,18,18

    16的那个人就相当于去52张牌里拿十二张,因为两个人都是18,所以要去重

    可以求得分子为C(52,16)*C(36,18)*C(18,18)*3

    同理求的分母为C(54,18)*C(36,18)*C(18,18)

    然后根据组合数公式,也就是18*17*3/(54*53)=17/53

    #include<bits/stdc++.h>
    using namespace std;
    const int MD=1e9+7,N=2e6+5;
    int f[N],v[N];
    void Init()
    {
        v[0]=v[1]=f[0]=f[1]=1;
        for(int i=2; i<N; i++) f[i]=1LL*f[i-1]*i%MD,v[i]=1LL*v[MD%i]*(MD-MD/i)%MD;
        for(int i=2; i<N; i++) v[i]=1LL*v[i-1]*v[i]%MD;
    }
    int C(int n,int m)
    {
        if(m<0||m>n) return 0;
        return 1LL*f[n]*v[m]%MD*v[n-m]%MD;
    }
    int main()
    {
        Init();
        int n,m;
        while (cin>>n>>m)cout<<C(n,m)<<"
    ";
        return 0;
    }
    线性求逆元求组合数模版

    当然有些人就不想那样写组合数,分子写成C(52,18)*C(34,18)*C(16,16)*3也是可以的,只是通分没那么好看,数值都是一样的

    还是以某人抽到大王为基准,而且还得抽到小王。大王可以出现在3×18的任意位置,小王也必须出现在相同的人手中,但不能出现在大王出现的那一轮(共17轮)。
    即3×18×17 
    总共有3×18×53种情况,即小王不与大王相同位置。这是兔小弟的做法,我觉得也很巧妙哦

    扩展问题变成了,一个人拿20张,另两个人拿17张。hhhh斗地主的真实情况

    地主当然概率要高些,但是具体是多少呢,我们可以看一下

    分母比较简单,先写出分母C(54,20)*C(34,17)*C(17,17)*3

    这三个人可能的牌是18 17 17和20 17 15

    写出分子就是C(52,18)*C(34,17)*C(17,17)*3+C(52,20)*(32,15)*C(17,17)*6

    约分可以算出来是0.434661,上面那个值是0.320755

    第一个有同学觉得一眼看过去就是1/3,但是实际上去错误的

    比如两副牌,有些人就觉得是1/2,其实是一个比1/2略小的数,16/53。

    为什么会有这种情况呢,因为进行了占位,你这张牌有了就占去了那个位置,就不能直接乘上概率了

    我们可以考虑6张牌分给两个人,这样算出来是2/5,其实公式就是(n/m-1)/(n-1)(n代表牌数,m代表分的堆数)

    四个人,除去两张大小王剩下52张扑克牌。问红桃A和黑桃A同时被一个人拿到的概率,这个你很快算出来12/51了,隔壁还在自闭呢

    但是你只要不平分或者不能平分就会出现烦人的约分问题,平分之前这个数肯定小于1/m,不平分之后肯定大于1/m,这算是神奇的不等式吧

    100人坐飞机,第一个乘客在座位中随便选一个坐下,第100人正确坐到自己坐位的概率是?

    他们分别拿到了从1号到100号的座位,这些乘客会按号码顺序登机并应当对号入座,如果他们发现对应号座位被别人坐了,就会在剩下空的座位随便挑一个坐.现在假设1号乘客疯了(其他人没疯),他会在100个座位中随便选一个座位坐下,问:第100人正确坐到自己坐位的概率是多少?(也可推广到n名乘客n个座位的情况)
     
    其实是一个递归问题
    1名乘客1个位置 100%
    2名乘客2个位置 你的状态和第一个人有关,50%
    3名乘客3个位置 第一个坐对了,那就是回到了状态2
             第一个人占到你的位置
             第一个人坐到另一个人的位置,还是状态2  这个概率是多少呢,就是(1/6+1/6)*3,还是50%
    4一直往复下去还是如此
    看起来你只和第一个人有关,第一个人第 [公式] 个人登机时,他的座位被占的概率是 [公式] 
     
     
    不均匀的硬币怎么让两个人等概率呢,可以扔两次,相同了就再来,先反或先正为胜利。能粘的话粘起来也是可以的
     
     
     
  • 相关阅读:
    2018-2019-2 网络对抗技术 20165337 Exp1 PC平台逆向破解(BOF实验)
    20165337《网络对抗技术》week1 Exp0 Kali安装
    BouncyCastle配置及SM2加解密demo编写
    学习总结 2020.1.4-1.10
    信息安全技术复习
    安全编程复习
    2019-2020-2 网络对抗技术 20175214 Exp9 Web安全基础
    2019-2020-2 网络对抗技术 20175214 Exp8 Web基础
    2019-2020-2 网络对抗技术 20175214 Exp7 网络欺诈防范
    2019-2020-2 网络对抗技术 20175214 Exp6 MSF基础应用
  • 原文地址:https://www.cnblogs.com/BobHuang/p/11303735.html
Copyright © 2020-2023  润新知