甲始终领先乙的概率

http://www.tianya.cn/techforum/Content/71/535787.shtml

天涯上给出了方法,但是我觉得说得并不完备,也就是不能证明其充要性,故而于此,在它的基础上给出我的方法


投票,甲得 M,乙得 N,票一张一张计,求计票过程中甲始终领先乙的概率(M>N)。


既无法一一枚举,故而简化之,以六票分甲四乙二为例。

甲票标为 A,乙票标为 B,枚举所有情况:AAAABB、AAABAB、AAABBA、AABAAB、AABABA、AABBAA、……不再枚举,因为从 AABBAA 开始,已经不能满足甲始终领先了。

做如下操作:从左往右遍历,做压栈处理,一旦栈顶处 A 与 B 相遇,则双双弹出栈,若遍历过程中栈终始不为空,则满足条件,否则,不满足条件。

如是操作之道理:相遇的 AB 互相抵消,对甲的领先没有任何影响。若遍历过程中栈内始终不为空,表示始终有未被抵销的票;由于甲乙交替领先权的一个必要条件就是计票过程中栈被清空,也即需要完全抵销对方的优势才可,故而又由于最终甲胜,栈内必然始终不得为空,留下的一定是甲票。

我们将上述枚举处理一下,抵消者以 X 代替,则有 AAXXXX、AAXXXX、AXXXXA、AXXAXX、AXXXXA、XXXXAA、……凡是第一个为 X 者,则表示栈被清空过,因此我们需要序列的第一项为 A。


换种思路:让序列的首尾相连成圈,然后在某一处切断它,形成一种序列。由于有 M + N 个结点,因此有 M + N 种断法。假设从圆外向圆内切,下刀的右侧为新序列起始点,左侧为末尾点。注意这里,会形成许多种圈,比如 AAXXXX、AXXAXX 就是两种圈,分别是两个 A 相连和不相连。但无论有多少种圈,只有从圆外向圆内切,切在 A 的左侧断链,才能保证新序列第一项为 A,由于圆内总共有 M - N 个 A,故每种圆都有 M - N 种切法。故而,概率为 (R*( M - N )) / (R*( M + N ))。R 为圆的种数,可将 R 上下消元,得最后结果为

( M - N ) / ( M + N )


有志于学,虽草庐中应可知天下事!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值