Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一番赏概率计算器 #33

Open
a62527776a opened this issue Feb 18, 2022 · 0 comments
Open

一番赏概率计算器 #33

a62527776a opened this issue Feb 18, 2022 · 0 comments

Comments

@a62527776a
Copy link
Owner

a62527776a commented Feb 18, 2022

首先需要求出所有连发的排列。
由于排列中除了手办就是非手办,那么这个排列应该是一个典型的二叉树结构。
他的层级是发数,他从根节点到叶子结点的路径 就是连发的其中一个排列。
下图为一个3发的二叉树

image (1)

根据层级构建二叉树
image (2)

通过使用回溯算法,可以找出满足条件的所有排列(比如二连中,间隔中等)目前我们只需要求出有手办的所有排列即可。

回溯算法是基于深度优先遍历演化而来,在先序遍历中判断队列是否满足需求,来判断是否需要往下一层级延伸以及这个队列是否满足条件来加入合规的排列。在后序遍历中将该节点的值加入队列。目前仅需判断是否到达叶子结点以及整条队列是否满足需求(即没有赏品以及实际手办数小于排列中的手办数量的情况)

image (3)

image (4)

一个三发所有中手办的排列。0代表手办 1代表时尚小垃圾

拿到排列后 需要计算每个排列出现的概率。

由于每一项的出现都是独立事件,所以整个排列出现的概率为排列中的每一项出现的概率相乘

出手办的概率即为上述的所有概率相加

尤为注意当计算一项出现的概率之后 需减去对应的量。

image (5)

根据上述来计算出的 出手办概率。

由于之前算过 10连不中的概率大概在30%左右

根据这个三发出手办的概率来反推

三发不出手办的概率为100 - 33.37 = 66.63

三次三发不出手办的概率为 66.63%*66.63%*66.63% =
image (6)

两个数据是比较匹配的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant