首页
学习
活动
专区
工具
TVP
发布

红包和后差距竟然这么大!牛人做了个实验…

红包的过程中,可能许多人有这样一种感觉: 抢红包貌似后比先能拿到更多的钱? 于是有人做了一个实验…… ? 友情提示 前方文章“高能”!...我想我有必要对抢红包这件小事开展系统的研究,把它提升到理论的高度!并给出抢红包的最优策略! 下面,请大家跟随我的思路,一点点破解抢红包的奥秘。 一、红包,先究竟公不公平?...过去我们可能本能地认为,红包无非就是把一个钱随机分成几份,然后随机分给几个抢红包的人。但我的“末位红包抽屉原理”已经充分证明了红包和后是有很大区别的!...当然从算法的简洁性上来说,也不太可能给第一个和后设置不同的算法规则。因此我们有一定的理由相信红包是按这个规则设计的。...证毕,在红包的“0.01~2倍剩余均值均匀分布”算法下,先的均值相同,越往后方差越大。最后两个人同分布。

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

红包算法

过年很多人会发红包,但是为毛很多人说自己得不到最佳,因此作者写了一个红包发送的算法。...首先科普一下,红包的 规则 为: 红包金额的区间为 0.01 - 平均值的2倍 该规则为 团队公布的算法 ,读者可自行上网查找相关信息。...这也就是说,假设给10个人发送100元的红包,那么: 第一个人得到金额的区间为[0.01,20] 假设 前三个人 领到的红包为50元,那么此时红包还剩下 7个人 没有领取红包红包还剩下 50元 ,那么下一个人可以得到的最大金额为...: (100-50)/(10-3)*2=14.29 第四个人得到的金额的区间为[0.01,14.29] 以此类推,最终可以将红包领完,python的代码为: # 领红包的主要程序 def distribute...else: print("输入的不是整数,请重新输入...") ---- 红包群的还有如下规则: 群 最多人数 默认500 红包 最大金额 为200元 因此,作者加入多进程后

6.8K30

用Python实现自动化抢红包,再也不用担心不到红包

先说好消息,好消息就是群里有人要发红包,开心~ ? 不过转念一想,前几次的红包一个都没抢到,这次???不由自主的叹了一口气 ... ? 过了一会,内心的情绪逐渐平复了。 ?...但是手动肯定没戏,毕竟手can谁也没办法!那就只能试试能不能通过编程的方式实现自动化抢红包了!” ?...现在捋一下思路,群发红包的基本情况是:每一次发红包都会与上一次有一些时间间隔,实现自动化抢红包的基本思路如下: 手动清空之前群中的红包记录 执行自动化抢红包程序,进入发红包群(可以暂时将其顶置...环境 本文主要环境如下: Win7 小米5s Python3.7 Appium1.5 7.0.20 如果对环境搭建不熟悉的话,可以看一下:Python + Appium 自动化操作入门 和 我用...Python 找出了删除我的所有人并将他们自动化删除了。

4.4K10

揭密:红包前传

二、好产品是磨出来的 延续着现实世界的传统,红包团队想到了可以在虚拟世界中搭建一个向朋友“讨红包”的系统,让红包好友之间传播。...一旦红包需要靠才能得到,无疑会极大地激起大家的兴趣,变成一个人人都爱参与的游戏,甚至激起一些“潜水”用户的兴趣,营造出欢快热烈的新年气氛。...经过加班加点的紧急开发,1月26日,“新年红包”的公众账号开始面向全国传播,28日,“新年红包”登陆的“我的银行卡”。...在红包正式上线前,整个团队几乎没有休息,忙着给红包系统扩容,他们向公司申请,调来了10倍于原设计数量的服务器,并抓紧时间修改红包系统的最后细节。...红包就恰好满足了这两点。再加上的强关系链,方便的手机操作,人群聚集时信息蔓延得更快等等原因,红包就这样火了。 后续,红包功能还会继续存在,并且增加更多的使用场景,比如生日、婚礼等。

3.5K70

红包自动监测

前段时间接触了下Auto.js(https://github.com/hyb1996/Auto.js),很好上手而且挺有意思,于是写了个红包监测脚本 大概思路是,不断获取手机屏幕截图,发现新消息则进入...使用方法 让回到主界面,即不让要处于聊天页、朋友圈等状态 在手机上运行Auto.js软件,点击左上角的三条横线,在菜单栏中打开 无障碍服务 和 稳定模式,便于Auto.js完成截屏、模拟按压等自动化操作...回到软件主界面,在 脚本 标签页中,点击右下角的加号,选择 文件,名称取为 红包,点 确定 保存,即可进入脚本的编辑页面 将完整代码复制到脚本中,点击 保存,之后点击 运行 即可 手机会自动跳转到信中...首先检测一些相关参数(例如消息起始位置、每行消息的高度等),然后便会按照代码中定义的时间间隔(即倒数第三行sleep函数中的数字,以毫秒为单位),不断监测新消息并执行操作 彩蛋 在这之前,我还写了一个跳一跳的...MIX2上效果很好,轻松过千,如果是其他手机型号,可能需要根据屏幕分辨率进行微调 项目代码 完整项目在Github上,https://github.com/Honlan/AutojsScripts,里面包括红包和跳一跳两个

8.6K41

清华博士发现最大红包秘笈!为此他发了2亿个红包

这次,他为了搞明白红包的原理, 发了2亿多个红包, 最终得出一个最大红包的秘笈…… 这个人叫毕啸天,清华大学化工系博士。 他的这些“无聊”脑洞都哪来的? 最大红包到底咋?...曾经有一段时间,我周围的一些朋友不知道为什么特别迷恋刷运动的步数。今天你两万步,明天我三万步,非常地烦人。因为我每天宅在家里面,我的步数差不多只有八步。 后来我就开始研究运动它监测的是什么。...难道红包和后的规律是不一样的?想到这个想法我非常地兴奋,我觉得如果我最后能找到这个规律的话,我就能抢到我所有的同学都破产为止。 马上又开始实验了。...这个结果虽然很简单,但是它反映出来一个现象,就是红包的内部算法肯定不是均匀的,先一定是有区别的,而且貌似后会占一点点优势。 究竟是不是这样呢?我做了一个进一步的实验。...这张图可以说是红包里面包罗万象,它把所有的情况都概括了。它统计出了从3个人抢到27个人,如果你愿意的话,我可以统计到任何多个人

60120

庆元宵红包封面(赠送红包封面)

题图摄于广州市天河区 - 异木棉‍ 和去年一样,原本希望在农历新年前给 亨利笔记 公众号的读者赠送一个小福利:定制版红包封面。...怎奈碰上了十分较真,甚至到了非常教条的审批人员,硬是说我提交的封面违规,于是开始了一场跨年度的 提交-审批-拒绝 的反复拉锯,从年三十开始,一直到年初六才获得批准,已经错过发红包的最佳时间。‍...审批人员需要我提交在红包封面中使用照片的著作权证书和作品登记证,就是题图这张异木棉照片。...其时已是年初六了,早已错过了年三十和初一的红包高峰期。 既然被批准了,我就发出来送给大家吧,当作庆元宵的福利吧。喜欢的朋友拿去,不谢。也祝大家新年大吉,身体健康,工作进步,事事顺利!...如果已领完,可后台回复“红包”获取封面。‍‍‍‍ ---- 要想了解云原生、机器学习和区块链等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。

2K20

红包实现方式

红包流程 红包生成,数据库中创建红包信息,把红包的ID、数量放入缓存 用户抢红包,分为和拆两个动作,动作只是决定用户是否得到红包资格,如果抢到了,进入拆动作,此时实时计算红包的金额、记录红包流水记录...红包金额的计算方法 随机,额度在0.01和剩余平均值*2之间 例如:发100块钱,总共10个红包,那么平均值是10块钱一个,那么发出来的红包的额度在0.01元~20元之间波动。...当前面3个红包总共被领了40块钱时,剩下60块钱,总共7个红包,那么这7个红包的额度在:0.01~(60/7*2)=17.14之间 高并发下 如何保证红包不被更多人抢走 的动作就是对红包剩余数量减一,...这个减操作是原子的,缓存的CAS模式来保证操作的唯一性 CAS模式可以理解为:在我获取这个key之后,没人修改过它,我才能成功保存这个key的值 例如当前红包剩余数量为10,此时有很多人同时来,也就是要执行多个减一的操作

3.6K100

红包后台系统设计

我们先了解下红包支付的流程: ?...一个发红包的流程经过抽象可以得到如下路径:包 -> 发 -> -> 拆 红包的核心知识如下: 包红包:系统给每个红包分配一个唯一ID,也就是发红包的订单号,然后将红包发送给用户,红包的个数,...发红包:用户使用支付完成付款,红包后台收到支付成功的通知。...红包系统将红包发送订单状态更新,更新为用户已支付,并写入用户发红包记录表,这样用户可以在钱包中找到用户的发红包流水和收发红包的记录,之后红包系统调用通知,将红包信息发送到群。...抢红包群中的用户收到红包消息之后,点开红包,开始抢红包,这个过程红包系统会检查红包是否已经被完,是否已经过期,是否已经抢过等验证逻辑。

7.2K33

红包随机算法&红包随机算法

2.参考红包算法 本质上,这和红包没什么区别,发出一个固定总金额的红包,指定红包数量,那么随机分配红包金额时需要满足哪些规则?...实际上红包的算法虽然公平,但是有个缺陷,不过这个产品同学可以接受,只是对于用户来说体验并不是那么友好,因为有时发个群红包会出现下面这种最后一个红包金额非常大的情况。...如果红包数量充足,那么最后一位才有可能获得大红包。但绝大部分情况是僧多粥少,需要拼手速才能抢到红包,这种情况下,你不能保证你是最后那位抢到红包的人。...3.一个可用的随机算法 此次年会产品同学开始跟我说需要像红包那样的随机分配红包金额,但是仔细研究了红包的算法,才发现产品同学想要的效果和红包并不同,她想要的是红包金额严格随机范围在 [...---- 参考文献 [1] 漫画:如何实现抢红包算法? [2] 拼手气红包背后的算法逻辑

6.8K20

红包系统设计 & 优化

编者按:经过2014年一年的酝酿,2015红包总量创下历史新高,峰值1400万次/秒,8.1亿次每分钟,红包收发达10.1亿次,系统整体运行平稳, 在这里我分享下红包背后的技术。 ?...讲师:jeri 核心功能&目标 首先,了解下红包的4个逻辑:摇/发//拆。...看似简单,实现可不简单再review下红包要实现目标: 摇:摇的流畅 快:的要快 爽:拆的爽 稳:能分享出去 系统难点 1.中国运营商网络环境复杂,覆盖面广,春节期间网络吃紧,容易出现网络故障 2...跨区域网络解决方案 客户端分布全球,接入点较多,用户资料靠近接入点,可以加速用户资料访问,但是红包的业务逻辑层并不全网分布,业务逻辑层访问数据层比较多,数据层有状态强一致性问题,只能同用一个数据副本...红包的数据有几份,订单数据,用户数据,还有对应的cache数据, N:数据副本份数红包有三份 R: 一次需读取的副本红包一次从一个副本可以全部读取需要数据 W: 一次写入数据2份实时写,一分异步化

4.2K80

红包模拟实现

红包模拟实现 1、抢红包介绍 红包基本流程: 发红包(拼手气红包) 需要发红包用户输入红包总个数、总金额,然后发红包。...2.抢红包 需要满足规则: 所有人抢到金额之和要等于红包总金额 每个人至少抢到一分钱 要保证所有人抢到金额的几率相等 2、二倍均值法 目前市面上主流实现是二倍均值算法(听说红包实现是用的这个,...//2.1 从红包池(list)里面出队一个作为该客户红包,抢到了一个红包 Object partRedPackage = redisTemplate.opsForList(...log.info("红包池已空,红包标识:{}", redPackageKey); return Result.build(null, ResultCodeEnum.RED_PACKAGE_FINISHED...-bc4a-d0af8cf1ee9d 3.3.2 抢红包 注意一个用户是一个token 且只能一次 第一次(header的token一致就认为是一个用户) 同一个用户第二次 提示不能重复红包完后

23620
领券