-
2008-02-01
玫瑰花与蛇牙荆
森森端详着风语,说:好美的眼睛!
风语得意。
又说:好美的嘴唇!
风语更得意。
又说:好丑的鼻子!
风语大怒!
从此以后风语对森森递过来的玫瑰花充满戒心,总觉得下面隐藏着蛇牙荆。PS:风语照镜子从来不觉得自己鼻子大,但是看自己的照片,又确实见鼻子几乎占据了半壁江山。这是什么光学原理呢?搞不明白啊……
-
2008-02-01
百层大厦和两枚棋子
有一个一百层高的大厦,你手中有俩枚相同的玻璃棋子,从这个大厦的某一层扔下棋子就会碎。用你手中的这两个棋子,找出一个最优的策略,来得知那个“临界”层面——第一次应该从哪层开始扔?按照你的方案,最坏的情况多少次可以测出临界层?(具体分析如下)
据说这是一道GOOGLE的面试题,具体来源不得而知,网上有无数解法,讽刺的是,GOOGLE搜索到的饿大部分解法都是错误的。看了某人的博,发现他的解答很有道理,接下来一起分析一下。
假设你从五十层开始扔第一枚棋子,如果它碎了,那你就要从第一层开始逐个试探,最坏的情况是临界层在第四十九层,这样总共需要试探五十次;如果第一枚棋子没碎,那你可以把它拿到七十五层,再试,如果这次碎了,另一枚棋子就要从五十一层实验到七十四层,这样总共试验了2+(74-51+1)= 26次……依次类推,总之,最怀的情况,你要实验五十次。
现在假设你从第十层开始扔第一枚棋子,如果没碎,则之后每十层扔一次。跟上面相同的道理,最坏的情况就是临界层在第九十九层,你要试验10+(99-91+1)= 19次。
显而易见,如何把大楼“分段”成为了关键问题,这样我们面临两种分法,是让每段包含的层数均匀一点好?还是让每次投掷的次数均匀一点比较好?如果是前者,那么上面提到的平均分段后的十九次就是最优策略。如果是后者,首选的解决方案是:逐渐减少分段所包含的层数,假设第一次扔棋子的层数为N,之后逐层递减,考虑这样一个不等式:N+(N-1)+(N-2)+….2+1〈=100,可以得到N〈14,于是就有了我们接下来的方案:
从第十四层开始扔第一枚棋子,如果没碎,那就从第14+13=27层开始扔,还是没碎,就从14+13+12= 39层开始扔,依次类推,如果第一枚棋子在三十九层碎掉了,那么就把第二枚棋子从二十八层开始试验到第三十八层,最坏的情况下,就是3+(38-28+1)= 14次。按照这个逻辑,可以测试到第14+13+12….+4=99层,如果还没碎,那么临界层就是第一百层,共总测试了十一次。如果九十九层碎了,那么分别在第九十六,九十七,九十八层用第二枚棋子测试,最坏情况是第九十八层碎,总实验次数也是十四次。
分析到这里,或许你会觉得这题目很简单,如果这真是GOOGLE的面试题目,恐怕是要求当场解决的,难度利马就出来了……
-
2008-01-29
一点说明
这个博客是属于风语和森森两个人的,所以如果有读者的话(我是说万一有),不要惊讶为何文风差别很大。风语是个比较负责任的人,一般不会做只写题目而正文付之阙如这种事。这种事多半是森森干的,而且美其名曰:这就是我的风格。
博客简介是波兰女诗人辛波丝卡的《一见钟情》第一节,据说这首诗是几米《向左走向右走》的灵感之源,不过风语和森森的相遇没有《向左走向右走》那么浪漫。事实上,风语和森森是通过最老土的方式----相亲认识的,而且也没有一见钟情。但目前风语和森森在一起了,于千万人中,见到了所要见的人。谁知道在此之前是不是像诗中所说的那样:他俩或许擦肩而过一百万次了吧?
-
2008-01-28
LET 'S GET STARTED !!!







