摘要:
在以前的链表单次遍历,随机选取问题中,我们采用水塘抽象方法解决了问题。问题结点带权呢?问题描述:有一组数量未知的数据,每个元素有非负权重。要求只遍历一次,随机选取其中的一个元素,任何一个元素被选到的概率与其权重成正比。设元素总数为n,当然在遍历结束前n是未知的。设第i(1 0),则权重总和为,也是... 阅读全文
随笔分类 - 算法--概率
转: 等概率随机函数的实现
2013-10-04 04:01 by youxin, 3833 阅读, 收藏, 编辑
摘要:
题目:已知随机函数rand(),以p的概率产生0,以1-p的概率产生1,现在要求设计一个新的随机函数newRand(), 使其以1/n的等概率产生1~n之间的任意一个数。解决思路:可以通过已知随机函数rand()产生等概率产生0和1的新随机函数Rand(),然后调用k(k为整数n的二进制表示的位数)... 阅读全文
给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数(均匀概率问题)
2013-10-04 03:38 by youxin, 5346 阅读, 收藏, 编辑
摘要:
google面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。问题分析:现在给了一个能随机生成1~5的随机函数,怎样利用这个已知条件生成一个1~7的随机函数呢?既然要生成的是随机数那么生成1,2,3,4,5,6,7的概率就应该是一样的。显然现在光生成1~5之间的数就不够了,我们想到应该要加大生成数的范围,并且加大范围的同时还要保证每个数产生的概率一样,于是有这样一种方法用这个表达式来扩大生成数范围:rand5()*5+rand5(),新的数据范围变成:6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 阅读全文
趣题:阿米巴的生存
2013-09-07 08:20 by youxin, 797 阅读, 收藏, 编辑
摘要:
在每一代的繁殖中,单个的阿米巴原虫有3/4的概率分裂成两个,有1/4的概率死亡(而不产生下一代)。初始时只有一个阿米巴原虫,求阿米巴原虫会无限繁殖下去的概率。答案在下面。解答:令p为单个阿米巴原虫分裂的概率(题目中等于3/4),令P为我们要求的概率(无限繁殖的概率)。初始时的那个阿米巴原虫有p的概率分裂为两个,至少有一个可以无限生存下去的概率为1-(1-P)^2。那么,我们得到式子:P = p*( 1 - (1-P)^2 )化简后得到:p*P^2 + (1 - 2p)P = 0或者写成:P * ( pP + ( 1-2p ) ) = 0由于P≠0,因此pP+(1-2p) = 0,即P = (2 阅读全文
转:趣题:经典二分问题的一个扩展
2013-09-07 08:14 by youxin, 332 阅读, 收藏, 编辑
摘要:
SETI@home可以在杂乱的射电数据中搜寻独特的讯号,你能在大街上的嘈杂声中清晰分辨出一个尖细的女声大叫“亚美蝶”。这些现象都表明,有时对集合里的所有元素进行整体考察可以很快找出我们所要找的个体。去年我们搞合唱比赛时,我又想到了一个绝佳的例子:你可以在合唱声中清楚地听到是否有人跑调。考虑这样一个问题,假如合唱团里有一个人唱歌始终走调,但我听不出来是谁走调,只能听出当前正在唱歌的人中是否有唱走调了的人。那么,我如何才能迅速地揪出那个唱走调的人?利用经典二分法,我们可以在log2(n)次合唱后找出唱走调了的人。每一次,我都把剩下的人平均分成两组,然后选其中一组来合唱:如果听不到走调的声音,这一. 阅读全文
玩扑克牌学概率论
2013-09-07 04:38 by youxin, 3988 阅读, 收藏, 编辑
摘要:
概率论和数理统计研究的是不确定事件的发生几率问题。从十几年前开始学习概率论到现在,说实在我学得并不够好,虽然大概的东西掌握了,但是重点和难点还是没有完全掌握,最近又在学习。不过我觉得我的概率论和数理统计之所以没有学好,经过这么多年才能理解其中大多数内容与我们的许多老师教学有很大关系。所以,我今天就从玩扑克牌的例子就概率论的基本理论和大家交流,努力使这个学问变得有趣一点。在玩扑克牌中有一种玩法我觉得很有规律性,也非常适合应用概率论来估算,这种玩法叫“扎金花”或者叫“开拖拉机”,就是给玩牌的人每人发三张扑克牌,然后每个人根据自己的牌大小在互相不知道大小的情况下下注,最后大者或者胆大者获胜。牌的大小 阅读全文
12个高矮不同的人,排成两排(catalan数)
2013-08-30 16:08 by youxin, 1302 阅读, 收藏, 编辑
摘要:
问题描述:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?这个笔试题,很YD,因为把某个递归关系隐藏得很深.问题分析:我们先把这12个人从低到高排列,然后,选择6个人排在第一排,那么剩下的6个肯定是在第二排.用0表示对应的人在第一排,用1表示对应的人在第二排,那么含有6个0,6个1的序列,就对应一种方案.比如000000111111就对应着第一排:0 1 2 3 4 5第二排:6 7 8 9 10 11010101010101就对应着第一排:0 2 4 6 8 10第二排:1 3 5 7 9 11( 012346 5 7891011 0 阅读全文
四人过桥、三盏灯 三个开关 的答案
2013-08-30 16:04 by youxin, 1817 阅读, 收藏, 编辑
摘要:
题目都还是比较老了,再来温习下吧: 1. 有两个房间,其中一间房里有三盏灯,另一间房里有控制这三盏灯的开关。这两间房是相对独立、相对封闭的,没有空 上的直接联系;三盏灯与三个开关也没有顺序上的必然联系。现在只允许你分别进入这两个房间一次,然后判断三盏灯分别是由哪个开关控制的 2. 四人组合的2x合唱团赶往演唱会场,途中必需经过一座桥,天色很暗,而他们只有一只手电筒。一次时最多 有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回于桥的两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同,若两人同行则以较慢者的速度为准。A需花1分钟过桥,B需花2分钟过桥,C需花 阅读全文
KMP算法与一个经典概率问题
2013-08-24 02:47 by youxin, 444 阅读, 收藏, 编辑
摘要:
考虑一个事件,它有两种概率均等的结果。比如掷硬币,出现正面和反面的机会是相等的。现在我们希望知道,如果我不断抛掷硬币,需要多长时间才能得到一个特定的序列。序列一:反面、正面、反面序列二:反面、正面、正面首先,我反复抛掷硬币,直到最近的三次抛掷结果形成序列一,然后我记下这次我抛掷了多少次才得到了我要的... 阅读全文
转:惊人的答案:平均要取多少个(0,1)中的随机数才能让和超过1
2013-08-24 02:42 by youxin, 714 阅读, 收藏, 编辑
摘要:
数学常数最令人着迷的就是,它们常常出现在一些看似与之毫不相干的场合中。 随便取一个 0 到 1 之间的数,再加上另一个 0 到 1 之间的随机数,然后再加上一个 0 到 1 之间的随机数⋯⋯直到和超过 1 为止。一个有趣的问题:平均需要加多少次,才能让和超过 1 呢?答案是 e 次。为了证明这一点,让我们先来看一个更简单的问题:任取两个 0 到 1 之间的实数,它们的和小于 1 的概率有多大?容易想到,满足 x+y<1 的点 (x, y) 占据了正方形 (0, 1)×(0, 1) 的一半面积,因此这两个实数之和小于 1 的概率就是 1/2 。类似地,三个数之和小于 1 的概率则 阅读全文
21点游戏规则
2013-08-22 18:57 by youxin, 9592 阅读, 收藏, 编辑
摘要:
21点又名黑杰克(BlackJack) ,起源于法国,现已流传到世界各地。现在在世界各地的赌场中都可以看到二十一点,随着互联网的发展,二十一点开始走向网络时代。该游戏由 2 到 6 个人玩,使用除大小王之外的52 张牌,游戏者的目标是使手中的牌的点数之和不超过 21 点且尽量大。有着悠久的历史。游戏规则21点一般用到1-8副牌。庄家给每个玩家发两张牌,一张牌面朝上(叫明牌),一张牌面朝下(叫暗牌);给自己发两张牌,一张暗牌,一张明牌。大家手中扑克点数的计算是:K、Q、J 和 10 牌都算作 10 点。A 牌既可算作1 点也可算作11 点,由玩家自己决定。其余所有2 至9 牌均按其原面值计算。首 阅读全文
羊和汽车问题(或s三门问题(Monty Hall problem)亦称为蒙提霍尔问题)
2013-08-22 18:35 by youxin, 4797 阅读, 收藏, 编辑
摘要:
三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?如果严格按照上述的条件的话,答案是会—换门的话,赢 阅读全文