You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于均值与中位数的竞赛录取概率计算:非组合数学解法及Python实现问询

基于均值与中位数的竞赛录取概率计算:非组合数学解法及Python实现问询

Lucas是一名学生,他参加了一场总计2876人的数学竞赛(除他外还有2875名选手),所有参赛者的排名均唯一,排名越接近1代表成绩越好。他的最终排名是1947,这个排名有机会让他获得某所学校的录取资格。

为了估算自己能拿到梦校录取的概率,他查阅了去年的竞赛录取数据,整理出以下关键信息:

  • 去年竞赛总人数同样为2876人
  • 目标学校每年固定录取96人
  • 去年录取学生的中位数排名为1060(理论上,有48名录取学生的排名≤1060,另外48名录取学生的排名≥1060)
  • 学校会对录取学生的平均排名进行向上取整,去年公布的平均排名是1051,Lucas推测真实的平均排名区间为**[1051, 1052)**

核心问题

基于这些信息,能否计算出如果放在去年的录取规则下,Lucas获得录取的概率?如果可以的话,这个概率具体是多少?

个人思路与困惑

我认为这是一道组合数学方向的练习题。已知录取学生的平均排名$m$落在区间$[1051, 1052)$,我们设录取的96名学生的排名为$x_1,\dots,x_{96}$,这些排名均为$[1,2876]$范围内的不同整数,需满足:

  • $x_1,\dots,x_{47} \in [1, 1059]$
  • $x_{48} = 1060$
  • $x_{49},\dots,x_{95} \in [1061, 2876]$
  • $x_{96} \in [1, 2876]$
  • $\sum x_i / 96 = m$

从组合数学的角度,理论上可以先计算满足上述求和条件的所有可能组合数,再计算其中包含排名1947(且1947属于$x_{49},\dots,x_{96}$中的某一个)的组合数,最后用后者除以前者得到概率。但我觉得这种计算方式过于繁琐,想知道有没有更简便、常规的解法,同时也好奇能不能用Python来实现这个计算。

补充录取规则说明

这个录取体系并非只针对单一学校。具体流程为:学校会先询问排名第1的学生是否愿意入学,如果对方同意,剩余录取名额减1,再询问下一名选手;如果对方拒绝,录取名额保持不变,直接询问下一名选手。

备注:内容来源于stack exchange,提问作者Jotadiolyne Dicci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 02:40:28