好吧,我躺着中枪了,呵呵。
再来一道,应该是正宗的概率:
有一半径为R的定圆,任意作一经过此圆的直线,割得弦长大于根号3R的概率是多少?
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
本帖最后由 showcraft 于 2012-11-4 09:06 编辑

sorry,这道题目可能真的比较棘手,还是算了。
参见Bertrand paradox (probability)
http://en.wikipedia.org/wiki/Bertrand_paradox_(probability)

贝特朗奇论(Bertrand's paradox)
http://tieba.baidu.com/p/1618440062
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
换一道怀旧老题:
100个人坐飞机,每个人都有确定的座位。但由于第一个登机的人是傻子,他会等概率的随机选取一个座位坐下。后面的人依次进入,如果自己的座位没有被别人坐下,那么就在这个位置坐下;如果自己的座位已经被别人坐下,那么就在空座位中等概率的随机选取一个座位坐下。
问:最后一个人坐对自己的座位的概率是多少?
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
呵呵,这道题曾经就在茶楼出现过的。ys老能否详细解释下啊?
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
老程兄好啊,对我是谬赞了,我就是个搭台沏茶,吆喝跑腿的小二角色,抛砖引玉的干活。
我是很佩服ys老的,有些题目应该占用了他不少宝贵时间,当然也许是我低估了ys老,在我眼里10分钟的工作量他1分钟可能就解决了,呵呵。晓梦,大树兄给我不少教益,菜农兄以及你的捧场,都使这临时搭建的概率草台横生妙趣啊。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
哈哈,ys老此言甚妙,解了我不少顾虑。75楼的答案对的,但是请教ys老,如何思考呢?
另外,我发现老程兄时间还早,有点眼花“梦游”了,这个帖子里没有出现梦游人兄啊。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
汗,不得不说,这道三个思路的题目我没有继续跟进,有空再好好吸收ys老的高见。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
本帖最后由 showcraft 于 2012-11-6 22:25 编辑

74楼已经出了,可惜ys老只说了答案,还没说过程,估计还没顾得上吧。
那就再出道和74楼类似的题目,其实是和Ross的书越来越远了,呵呵。
听说张小强最近拿了奖学金,一个强盗闯入他的寝室.发现张小强的把钱放进了保险箱里面.有N个保险箱N把钥匙,每把钥匙恰好能够打开一个保险箱,每个保险箱也只有一把钥匙能够打开.钥匙锁在保险箱里,每个保险箱里面一把钥匙,方法是随机的.强盗可以选择打破K个箱子取出钥匙,问其余的保险箱均可以用钥匙打开的概率是多少?
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
晓梦101楼得归纳法证明,用的条件概率,没有问题,ys老说的不全面其实是多余了。
这道题目用归纳法当然可以,只是本质的内容,我还没想明白,似乎是和n元对称群的k重置换有关。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
ys老多虑了。
K/N代表的是打破n个箱子中的k个,已经把所有n个箱子打开了,所以第n+1个箱子的钥匙只要不在自己肚子里,就行了,而这个概率是n/(n+1),两者相乘就是条件概率,没有问题。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
由于精力有限,此书没能继续读下去。最近一段时间梳理了下线性代数,接下来应该重温微积分,估计要等到明年才能go on了,呵呵。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
新题目来了。
把长度为1的线段按任意方式折成三段,求他们能构成三角形的概率。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
晓梦兄确实高手,佩服。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
少了ys1937少了不少精彩。
老程 发表于 2013-3-26 21:48
深以为然啊。
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280
发一道昨天花了不少时间解决的排列组合题,当然思路是计算机科学的动态规划,纯组合学上的通用的closed from的答案目前还是没办法找到。

http://www.douban.com/note/269136472/
DP解决一道排列组合(湫秋系列故事——安排座位)
2013-03-30 20:33:28
http://acm.hdu.edu.cn/showproblem.php?pid=4532
湫秋系列故事——安排座位
Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 143    Accepted Submission(s): 38Problem Description
  为了给腾讯公司找到更多优秀的人才,HR湫秋最近去某高校组织了一次针对该校所有系的聚会,邀请了每个系的一些优秀学生来参加。  作为组织者,湫秋要安排他们的座位。这并不是一件很简单的事情,因为只有一排位置,并且位置总数恰好等于参加聚会的人数。为了促进交流,两个来自相同系的同学不可以座位相邻。湫秋现在希望知道有多少种不同的合理安排座位的方法(任意两个合理的安排方法,只要有一个位置的同学不同,都被认为是不同的)。


Input
输入第一行为T,表示有T组测试数据。每组数据一个N开始,表示一共有多少个系。下面的一行包含N个整数Ai,表示每个系的到场人数。[Technical Specification]1. 1 <= T <= 472. 1 <= N, Ai <= 473. 1 <= Sum(Ai) <= 447


Output
对每组数据,先输出为第几组数据,然后输出结果。由于结果可能很大,输出对1,000,000,007 取余后的结果。


Sample Input
3 2 1 2 2 1 3 3 1 2 3


Sample Output
Case 1: 2 Case 2: 0 Case 3: 120


Source
2013腾讯编程马拉松复赛第一场(3月29日)


Recommend
liuyiding

我的思路:
这道题目是组合学的范畴,如果纯从组合角度考虑,利用容斥原理,也不是不能解决,只是会相当繁琐,布鲁迪《组合数学》第六章的习题17是一道类似的变例,当然这道题目与之还有区别,因为前者只需要同一个系学生的不全部连续排列即可,而这道题目需要同一系的学生两两分开。既然是算法题目,那就换种思路,用动态规划,DP来解决吧。
这里有n个系,按照最终人数由少到多排列为a1,a2,...,an
令N(c,b1,b2,...,bn)表示在{b1,b2,...,bn}人数情况下同系学生两两分隔的排列数,其中c=b1+b2+...+bn
那么现在来了第c+1位第x系的童鞋,不妨设x=n,现在的问题就是N(c+1,b1,b2,...,bn+1)如何递归推导出来?
首先任意一种原先c位已经排好序的序列中,共有c+1个空格可供我们的第c+1位童鞋排入,而他不能与其中的bn位系友相邻,因而只有c+1-2bn种位置。值得注意的是,这只是符合条件的一种情况,即新插入的同学插入到满意的位置,而该位置左右包括他本人在内,三位同学来自三个不同的系。
另外不能遗漏的一种情况是他插入到某个位置,该位置左右两位同学来自他不同的某个系。这种情况下,需要对n系之外的n-1个系逐一检查,如果这n-1个系中任何一个系有大于等于2个学生来参加聚会,则都应予以考虑。
综上,递归式如下
N(c+1,b1,b2,...,bn+1)=N(c,b1,b2,...,bn)*(c+1-2bn)+2[N(c-1,b1-1,b2,...,bn)+N(c-1,b1,b2-1,...,bn)+...+N(c-1,b1,b2,...,bn-1,bn)]
之所以第二种情况需要乘以2,是因为在考虑过程中将排在C同学前后的两位同系学生比如A和B,等价为A来考虑,但在具体情况下,A,C,B与B,C,A是两种不同情况。
很明显,边界条件为N(c,1,1,...,1)=c!,且N中任意一项若小于等于0,则N为0。
以N(6,1,2,3)来举例说明:
N(3,1,1,1)=3!=6,
N(4,1,2,1)=N(3,1,1,1)(4-2)=12=N(4,1,1,2)
需要说明的一点是,任意非递增序列的N数值上与递增序列相等,即N(4,1,2,1)=N(4,1,1,2),但要保持序列的对应关系。这点计算上的技巧接下来就会碰到。
N(5,1,2,2)=N(4,1,2,1)(5-2)+2*N(3,1,1,1)=12*3+2*6=48
N(6,1,2,3)=N(5,1,2,2)(6-2*2)+2*N(4,1,1,2)=48*2+2*12=120
OK,至此,整个dp的思路应该说的比较清楚了。具体code我就不写了,毕竟数年没有coding,生疏的不成样子,呵呵。
这两天还在着手写《具体数学》的读书笔记,Stay tuned!
豆瓣http://www.douban.com/people/knowcraft
博客http://www.yantan.cc/blog/?12226
微博http://weibo.com/1862276280