本帖最后由 可乐只因 于 2025-6-8 05:26 编辑
昨天聊到了开箱子的事情。
今天就来好好聊聊开箱子,这种抽奖券数学概念。其实学过高中数学的很容易就能联想到,这是典型的古典概型。(当然是默认没有背包检测)罐子中总共有11种装备,抽取每一个装备的概率理论上应该是相同的。(不考虑算法问题,考虑算法无解,但是可以骂傻X程序员代码写的什么狗屎)
开罐子问题
所以咱们带着俩个小问题来进行后面的推论:
素颜直播开罐子中,18个SS罐子,他开出来了10件,
1.你觉得18SS罐子开出10件的概率是多少?那要比他欧开出11件的概率是多少呢?
2.最终他18SS+3传说开启了全身,(21个盒子)开全11件的概率又是多少呢?
3.我准备了7个SS+28个传说罐子,又大概能开出来多少件,到多少积分呢?
答案
我感觉写答题过程可能没人看(虽然这个估计就没人看。)所以直接说答案解:见后文
答:1.开出10件概率约为26.6%,开出11件的概率约为6%(你有想到么~,所以比单点上13概率还高一点)
2.21次出11件的概率约为14.47%
3.7SS罐子计算期望值为5.3(取整5),35次罐子计算期望10.6(取11,有一个跨界石),所以我的预计套装积分为2065,加上贴膜积分为2340,实际还有升级的,应该能到2440吧,太初积分还是有一点点难度的。
开罐期望
我直接将50个罐子的期望放出来,看看你们适合开多少罐子,开罐子出了几个部位,到底是欧是非。
其实稍稍修改一下公式就可以针对现有装备基础下开罐进行计算,但我实在太懒了。你们看了计算过程自己改了算吧~就酱~Ciallo
计算过程
1.那么先将问题明确化,抽取盒子等概率事件(1/11),计算总出现可能(出现情况)/总情况即可。
那么数学公式可以转化为(复习了一遍怎么在word里敲代码爽完了):
其中关于分子(出现情况):
:高中数学中的C(11,k)代表从11件装备的盒子里,抽取k件不同装备的组合数。 :是第二类 Stirling数,表示将n件抽出的装备划分为 k个非空组的方案数(忽略顺序)。(分母太简单就不说了)
这里第二类斯特林数的计算对我来说还是有一点点困难的,当然通过查表很容易就能得出结果。
根据其核心公式,然后调出我所需要的S值。
直接设定初始值1后进行递推扩充。
dp[0][0] = 1 for i in range(1, n+1): # 从1个元素到n个元素 for j in range(1, min(i+1, k+1)): # 从1个集合到min(i,k) dp[j] = j * dp[i-1][j] + dp[i-1][j-1] 然后带入就得到答案啦~ |