关于37%准则的公式推导

背景

在牛客网上看到一则关于37%法则的题目(https://www.nowcoder.com/tutorial/95/b53cf42a963e4f25aacae2251e8efaf8),其公式推导过程不是很清晰,故记录一下。

问题

一个活动,n个女生手里拿着长短不一的玫瑰花,无序的排成一排,一个男生从头走到尾,试图拿更长的玫瑰花,一旦拿了一朵就不能再拿其他的,错过了就不能回头,问最好的策略?

推理过程

笔者想到的一种策略是直接取第一个,因为是无序,取第一个能得到最长的玫瑰的概率是1/n,不过这并不是最好的策略。
还有一种策略是将该序列分为前后两个部分,前面的部分只看不选,其中玫瑰的最长长度作为参考值,在后面的部分中,一旦有玫瑰的长度大于参考值,则选择该玫瑰。笔者不清楚这种方式为什么会是最好的策略,不过,确实比直接选取第一个的结果要好很多。
接下来,就是确定如何将序列分为前后两部分,从哪个位置开始分割。
首先设最长的玫瑰在序列中的位置为i,则1/n.根据前面所说的,我们期望后边部分大于参考值的那支玫瑰刚好是最长的,即[0,i-1]中最长的刚好落在前面的部分中,设序列分割的位置为k,则

[0,i-1]中最长的刚好落在前面的部分中的概率为k/(i-1)

最长的玫瑰在序列中的位置为i,且[0,i-1]中最长的刚好落在前面的部分中的概率为
1/n*k/(i-1)
其中的i的取值范围可以是[k+1,n]

因此

以位置k进行分割后,按照上面的策略,得到最长玫瑰的概率是
1/n*k/(i-1)在[k+
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值