当前位置: 首页 > news >正文

赌博问题中填空类下注的返还金额的计算方式

自研的一种数学方案

考虑如下问题:

赌场新研发了一种赌博方式,要求赌徒以填空方式输入一个数字,然后随机摇号生成一个标准答案,再按照所有参与下注的赌徒们输入的数字与真实值的远近(猜的准不准)分配奖金池(所有赌徒下注金额的总和),我们称这是一个填空类下注问题

那么要怎样分配,才能使得猜的越准的人赚到越多,猜的越不准的人赚的越少甚至亏钱呢? 如何才能保证赌场无需额外加钱,仅通过对奖金池的再分配实现上述效果呢(不考虑赌场抽成且要求奖金池内的钱全部分配完)?

解决方案:

设所有人下注金额的总和(即总奖池数额)为P,设任意一名(第i名)参与投注的用户的下注值为,下注金额为,标准答案为Ans

(即与标准答案的距离),所有用户当中猜的最准的(即最小的)人的下注值与Ans的差值的绝对值(即最小距离)记作,设所有相等的人构成的集合为一组,记作,当中所有人的下注金额的总和(记该组共k个人下注,第a个人下注金额为,则), n为组的数量(即总共有n组),为标准答案出现后重新分配给这个组的总积分额度,

则有(e为自然对数的底数,e≈2.718):

对于每个参与下注的人(第i个人),此人分配到的资金记为,则有(由于可能有小数,因此我们计算采用向下取整):

化成完整式子,则每个人的最终受益为:

代码实现

#python实现 class Player: def __init__(self, uid: str, invest: float, inputnum: float): self.uid = uid self.invest = invest self.inputnum = inputnum def FillBlank(playerlist: List[Player], answer: int) -> Dict[str, float]: output = {} A = {} N = {} T = {} dn = float('inf') p = 0.0 fm = 0.0 for player in playerlist: di = abs(player.inputnum - answer) A[di] = A.get(di, 0.0) + player.invest dn = min(di, dn) p += player.invest for di, val in A.items(): if dn != 0: T[di] = math.exp(-0.5 * (di - dn)) * val else: T[di] = val fm += T[di] for di, val in A.items(): N[di] = T[di] * p / fm for player in playerlist: di = abs(player.inputnum - answer) output[player.uid] = (player.invest / A[di]) * N[di] return output
//C++编写的计算函数: struct Player{ string uid; ld invest; ld inputnum; }; unordered_map<string,ld> FillBlank(vector<Player> &playerlist,ll answer){ unordered_map<string,ld> output; unordered_map<ld,ld> A; unordered_map<ld,ld> N; unordered_map<ld,ld> T;//临时变量 ld dn=INFINITY;//dmin ld p=0;//P ld fm=0;//临时变量 for(auto i:playerlist){ ld di=fabsl(i.inputnum-answer); A[di]+=i.invest; dn=min(di,dn); p+=i.invest; } for(auto i:A){ if(dn!=0)T[i.first]=exp(-0.5*(i.first-dn))*i.second; else T[i.first]=i.second; fm+=T[i.first]; } for(auto i:A){ N[i.first]=T[i.first]*p/fm; } for(auto i:playerlist){ ld di=fabsl(i.inputnum-answer); output[i.uid]=(i.invest/A[di])*N[di]; } return output; }
http://www.jsqmd.com/news/1043500/

相关文章:

  • 潍坊除甲醛权威 前十 榜单,本地治理品牌实测对比测评 - 环保除醛知识库
  • 南京黄金回收干货收藏|正规门店名录+变现完整步骤 - 奢侈品回收评测
  • 2026杭州包包回收哪家靠谱|本地正规奢包回收门店排名,高价无套路变现攻略 - 薛定谔的梨花猫
  • 微信接入 Codex,再接入 GPT-5.5:把 AI 编程助手真正装进口袋里
  • 如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
  • Windows微信防撤回实战:开源工具原理与安全配置指南
  • 2026 常州黄金回收店铺排行榜,靠谱渠道推荐,收的顶稳居榜单榜首 - 奢侈品回收测评
  • 6 家门店实地测评!2026 杭州黄金回收完整避坑教程,变现不踩雷 - 开心测评
  • 如何用语音解放你的小爱音箱,打造专属私人音乐库
  • 2026青岛钻石回收盘点|透明估价+上门变现优质机构全测评 - 薛定谔的梨花猫
  • 告别抢票焦虑:双端智能抢票系统让你轻松锁定心仪演出
  • Hide Mock Location:终极Android位置隐私保护解决方案
  • ChatGPT识图分析实操指南:从拍照到精准识别的完整链路
  • MLOps生产化实战:让机器学习模型稳定运行18个月
  • 2026天津包包回收哪家靠谱|本地正规奢包回收门店排名,合规无损变现攻略 - 薛定谔的梨花猫
  • 广州除甲醛前五榜单,2026 品牌横向测评避坑指南 - 环保除醛知识库
  • 2026持证收金门店覆盖全上海,金价透明公道,闲置首饰变现更省心 - 奢品小当家
  • 2026渗透测试学习路线:从零基础到精通就业的完整指南
  • D435i:从单目误解到双目真相,揭秘其SLAM与VIO应用之道
  • M4Markets:聚焦细节,看看外汇市场服务体验的关键路径
  • 昆明顶奢回收|专收爱马仕 Birkin/Kelly、香奈儿经典款 - 开心测评
  • 重庆2026闲置奢包回收测评:迪奥古驰Prada变现定价商家优选指南 - 名奢变现站
  • DMXAPI实测:abab6.5轻量网关的原理、限免机制与工程边界
  • 北京31年老牌搬家|迁禧搬家 政企高校指定搬迁服务商,多所高校官方合作 - 幸福生活序曲
  • 2026东莞黄金回收机构排名|合规经营精准鉴定加急可上门 - 奢侈品回收测评
  • 耗时三天走遍昆明盘龙、五华、呈贡三区,7家黄金回收实体店完整实测对比全过程 - 开心测评
  • 机器学习模型上线实战:从Notebook到生产环境的系统工程
  • 2026 杭州包包回收市场分析,哪些款式保值更好出手 - 开心测评
  • 2026 安徽六安市高考落榜怎么办?安徽工贸职业技术学院公办单招复读班招生简章官网发布:线上报名入口+完整报考指南、招生计划、录取条件 - cc江江
  • 2026年香港居屋小户型全屋定制怎么做?深港跨境真实案例与避坑指南