news 2026/6/19 17:42:49

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
赌博问题中填空类下注的返还金额的计算方式

自研的一种数学方案

考虑如下问题:

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

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

解决方案:

设所有人下注金额的总和(即总奖池数额)为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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 17:41:02

ACE-Step UI音乐生成质量优化:从基础配置到专家级调优指南

ACE-Step UI音乐生成质量优化&#xff1a;从基础配置到专家级调优指南 【免费下载链接】ace-step-ui &#x1f3b5; The Ultimate Open Source Suno Alternative - Professional UI for ACE-Step 1.5 AI Music Generation. Free, local, unlimited. Stop paying for Suno! 项…

作者头像 李华
网站建设 2026/6/19 17:40:37

基于深度学习yolov8的智能车牌识别系统设计1(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)

基于深度学习yolov8的智能车牌识别系统设计1(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_降重降ai&#xff09; 如今智能交通系统中的车牌识别技术被广泛使用&#xff0c;在交通管制、监控安防、智能泊车等方面都有着良好的应用前景。但是传统车牌识别方法在光照不…

作者头像 李华
网站建设 2026/6/19 17:31:45

汽车底盘控制MCU MPC5602P:Power Architecture核心与功能安全设计解析

1. MPC5602P&#xff1a;汽车底盘控制的“硬核”心脏在汽车电子领域&#xff0c;底盘和安全系统是决定车辆操控性与乘员保护能力的基石。无论是精准的转向助力&#xff0c;还是毫秒级触发的安全气囊&#xff0c;其背后都依赖一个强大、可靠且实时性极高的“大脑”——微控制器单…

作者头像 李华
网站建设 2026/6/19 17:30:57

企业AI使用政策设计:从风险识别到落地执行的实操框架

1. 项目概述&#xff1a;为什么一份“能落地”的AI使用政策比禁令更难写&#xff0c;也更重要你有没有遇到过这样的场景&#xff1a;部门刚开完会&#xff0c;领导拍板“所有员工禁止使用ChatGPT”&#xff0c;结果散会后五分钟&#xff0c;销售同事就悄悄把客户合同粘贴进网页…

作者头像 李华
网站建设 2026/6/19 17:12:08

跳出「问答循环」陷阱:从 Prompt 到 Loop Engineering,AI Agent 自主闭环的完整落地指南

【摘要】针对当前 AI Agent 生产落地中普遍存在的多轮人工调试、效率低于手动操作的问答循环困境&#xff0c;系统梳理 AI 工程领域从提示词、上下文、防护架构到循环机制的四层技术演进路径&#xff0c;结合行业一线实践拆解 Loop Engineering 的核心架构、标准执行流程与开源…

作者头像 李华
网站建设 2026/6/19 17:09:20

如何在现代Web应用中实现精准可控的拖拽交互体验

如何在现代Web应用中实现精准可控的拖拽交互体验 【免费下载链接】draggabilly :point_down: Make that shiz draggable 项目地址: https://gitcode.com/gh_mirrors/dr/draggabilly Draggabilly是一个轻量级的JavaScript拖拽库&#xff0c;专门为现代Web应用设计&#x…

作者头像 李华