专栏名称: 待字闺中
深度分析大数据、深度学习、人工智能等技术,切中实际应用场景,为大家授业解惑。间或,也会介绍国内外相关领域有趣的面试题。
目录
相关文章推荐
51好读  ›  专栏  ›  待字闺中

七夕,你跟女神邂逅的概率有多大?

待字闺中  · 公众号  · 程序员  · 2016-08-10 08:42

正文

七夕刚过,女神追到了么?如果还差一点点,不要气馁,大神以洪荒之力向你证明追到女神是大概率事件。大神,当然就是小明:)


套路


小明追着女神来到某旅游城市,这个城市有十大景点,女神每天随机去一个不同的景点,10天后离开。小明为了邂逅女神也决定接下来十天每天随机去一个不同景点。 请问小明有多大概率在这十天里邂逅女神。(假定同一天在同一景区就算邂逅)


分析

我们把十天看成一个整体(十天看做一次实验),用 表示女神的一个随机安排,用 表示小明的一个随机安排。


容易看出,对于这个安排,小明要邂逅女神,则需要满足任意有一天i,有 ai=bi,可以是多天相遇,也可以是单独一天相遇。这样分析起来考虑情况较多。

换一个思路,我们考虑不相遇的概率p多大,最后用1-p就是我们原本要求的概率。


对于女神的任意一个随机安排, 小明的安排要满足任取i, ai!=bi, 我们假定有F(10)种安排b使得任取i,bi!=ai。 那么所求概率为F(10)/P(10). P(10)为10的全排列,也就是小明的所有可能安排数。


分析到这,急性子可能直接就写代码了, 搜索出所有满足性质的排列个数。 等价于给定 1-10十个数,把这十个数排成一排,使得1不在第一个位置,2不在第二个位置。。。


代码如下:




更进一步


这个解法太暴力了,但也考察了搜索算法的基本功底。 我们回到这个题, 更进一步, 我们给定1-N,N个数.


要求 所有这N个数的排列数,使得i不排在第i个位置。(错位排列问题)







请到「今天看啥」查看全文