问题虽然很朴素,但是却能够起到活跃脑筋的作用,有些问题的分析还能够有有利于我们对数学知识(例如概率)的运用,所以把这些益智题都列出来如下。
1. 有一家人父亲、母亲和儿子、女儿,当父亲和女儿独处或者母亲和儿子独处时,父亲(母亲)就会骂女儿(儿子)。现在他们要过一条河,河上有一条船,船一次只能容纳两人,并只能由大人驾船。问他们应该怎么过河才能保证女儿和儿子都不会被骂。
完全是推理分析能力,采用试错法。答案有两种,其中一种是母亲先送女儿过河,然后目前回来接父亲过河,然后父亲回去接儿子过河。
2. 我三个筐子,一个装苹果,一个装橙子,一个装苹果和橙子。你看不到筐子里的东东,而标签都贴错了,你只能任选一个筐子,拿一个水果出来,然后把标签都改正过来,怎么拿?
根据条件要一次确定最多的结果,肯定应该去挑选标签为苹果和橙子的框,选出的水果就决定了这个框的真实标签,然后决定了另外一个标签称是该水果的框里的是混合物,剩余一个自然清楚了。
3. 屋子里有三盏灯,屋外有三个开关,屋外看不到屋里。你在屋外可以任意设置三个开关,然后进屋一次,就要说出哪个开关控制哪盏灯。
? 题目似乎不太清楚。
4. 12个小球,其中有一个是坏球。有一架天平。需要你用最少的称次数来确定哪个小球是坏的并且它到底是轻还是重。
答案是3次。这是一个涉及到概率的问题,需要用概率的方法来选择。详细请参考 刘未鹏的博客 。
对于类似于此种问题, 有其特殊的规律。
- 第一,是天平有三种输出的可能,所以应该让最终的结果均分称三等分。分得越严格,最有利于最终结果。
- 第二,分组时,还应该要保证天平输出三种结果的几率是均等的。
这种方式通过构造最佳决策树来解决问题。在刘未鹏的文章中,还提到有人用信息论的方式来讨论此问题。
南宋词人陆游(1125-1209),在1144年娶了表妹唐琬。次年,唐琬被逐出家门。依古人的说法乃因「不当母夫人意」「二亲恐其惰於学,数谴妇,放翁不敢逆尊者意,与妇诀」。(但依陆游晚年诗作(《剑南诗稿》卷十四),是因唐琬不孕,而遭公婆逐出。) 后陆游另娶,唐婉改嫁皇族赵士程。
十年后一春日绍兴城外沈园中,陆游来此赏春,偶遇唐婉与赵士程也来此春游。 虽遇然不得诉怀,唐婉派人送来一些酒菜,以示默默关怀,然后与夫离去。陆游伤心之余,在园墙上题下《钗头凤》:
红酥手,黄藤酒,满城春色宫墙柳。
东风恶,欢情薄,一怀愁绪,几年离索。
错!错!错!
春如旧,人空瘦,泪痕红邑鲛绡透。
桃花落,闲池阁。山盟虽在,锦书难托。
莫!莫!莫!
唐婉后以另一首《钗头凤》作答:
世情薄,人情恶,雨送黄昏花易落。
晓风干,泪痕残,欲笺心事,独语斜阑。
难!难!难!
人成各,今非昨,病魂常似秋千索。
角声寒,夜阑珊。怕人寻问,咽泪装欢。
瞒!瞒!瞒!
而后不久,唐婉忧郁而辞世。史载:「未几,怏怏而卒」。
陆游去世前一年,再来沈园,又题下:
「沈家园里花如锦,半是当年识放翁;也信美人终作土,不堪幽梦太匆匆」
好一个「也信美人终作土,不堪幽梦太匆匆」,其中何等苦辛!
参考:
今夜观央视《孔雀东南飞》,恰逢“鸡鸣入机织,夜夜不得息。三日断五匹,大人故嫌迟”,思及二人即将“黄泉下相见”,心有戚戚焉。复寻此诗如下。另有百度百科中节选精妙评述,引述如后。又精彩剧评:随看随写,孔雀东南飞,只为你徘徊。
序曰:汉末建安中,庐江府小吏焦仲卿妻刘氏,为仲卿母所遣,自誓不嫁。其家逼之,乃投水而死。仲卿闻之,亦自缢于庭树。时人伤之,为诗云尔。
孔雀东南飞,五里一徘徊。
“十三能织素,十四学裁衣。十五弹箜篌,十六诵诗书。十七为君妇,心中常苦悲。君既为府吏,守节情不移。贱妾留空房,相见常日稀。鸡鸣入机织,夜夜不得息。三日断五匹,大人故嫌迟。非为织作迟,君家妇难为!妾不堪驱使,徒留无所施。便可白公姥,及时相遣归。”
府吏得闻之,堂上启阿母:“儿已薄禄相,幸复得此妇。结发同枕席,黄泉共为友。共事二三年,始尔未为久。女行无偏斜,何意致不厚。”
阿母谓府吏:“何乃太区区!此妇无礼节,举动自专由。吾意久怀忿,汝岂得自由!东家有贤女,自名秦罗敷。可怜体无比,阿母为汝求。便可速遣之,遣去慎莫留!”
府吏长跪告:“伏惟启阿母。今若遣此妇,终老不复取!”
阿母得闻之,槌床便大怒:“小子无所畏,何敢助妇语!吾已失恩义,会不相从许!”
府吏默无声,再拜还入户。举言谓新妇,哽咽不能语:“我自不驱卿,逼迫有阿母。卿但暂还家,吾今且报府。不久当归还,还必相迎取。以此下心意,慎勿违吾语。”
新妇谓府吏:“勿复重纷纭。往昔初阳岁,谢家来贵门。奉事循公姥,进止敢自专?昼夜勤作息,伶俜萦苦辛。谓言无罪过,供养卒大恩;仍更被驱遣,何言复来还!妾有绣腰襦,葳蕤自生光;红罗复斗帐,四角垂香囊;箱帘六七十,绿碧青丝绳,物物各自异,种种在其中。人贱物亦鄙,不足迎后人,留待作遗施,于今无会因。时时为安慰,久久莫相忘!”
鸡鸣外欲曙,新妇起严妆。著我绣夹裙,事事四五通。足下蹑丝履,头上玳瑁光。腰若流纨素,耳著明月珰。指如削葱根,口如含朱丹。纤纤作细步,精妙世无双。
上堂拜阿母,阿母怒不止。“昔作女儿时,生小出野里。本自无教训,兼愧贵家子。受母钱帛多,不堪母驱使。今日还家去,念母劳家里。”却与小姑别,泪落连珠子。“新妇初来时,小姑始扶床;今日被驱遣,小姑如我长。勤心养公姥,好自相扶将。初七及下九,嬉戏莫相忘。”出门登车去,涕落百余行。
府吏马在前,新妇车在后。隐隐何甸甸,俱会大道口。下马入车中,低头共耳语:“誓不相隔卿,且暂还家去。吾今且赴府,不久当还归。誓天不相负!”
新妇谓府吏:“感君区区怀!君既若见录,不久望君来。君当作磐石,妾当作蒲苇。蒲苇纫如丝,磐石无转移。我有亲父兄,性行暴如雷,恐不任我意,逆以煎我怀。”举手长劳劳,二情同依依 。
入门上家堂,进退无颜仪。阿母大拊掌,不图子自归:“十三教汝织,十四能裁衣,十五弹箜篌,十六知礼仪,十七遣汝嫁,谓言无誓违。汝今何罪过,不迎而自归?”兰芝惭阿母:“儿实无罪过。”阿母大悲摧。
还家十余日,县令遣媒来。云有第三郎,窈窕世无双。年始十八九,便言多令才。
阿母谓阿女:“汝可去应之。”
阿女含泪答:“兰芝初还时,府吏见丁宁,结誓不别离。今日违情义,恐此事非奇。自可断来信,徐徐更谓之。”
阿母白媒人:“贫贱有此女,始适还家门。不堪吏人妇,岂合令郎君?幸可广问讯,不得便相许。”
媒人去数日,寻遣丞请还,说有兰家女,承籍有宦官。云有第五郎,娇逸未有婚。遣丞为媒人,主簿通语言。直说太守家,有此令郎君,既欲结大义,故遣来贵门。
阿母谢媒人:“女子先有誓,老姥岂敢言!”
阿兄得闻之,怅然心中烦。举言谓阿妹:“作计何不量!先嫁得府吏,后嫁得郎君。否泰如天地,足以荣汝身。不嫁义郎体,其往欲何云?”
兰芝仰头答:“理实如兄言。谢家事夫婿,中道还兄门。处分适兄意,那得自任专!虽与府吏要,渠会永无缘。登即相许和,便可作婚姻。”
媒人下床去。诺诺复尔尔。还部白府君:“下官奉使命,言谈大有缘。”府君得闻之,心中大欢喜。视历复开书,便利此月内,六合正相应。良吉三十日,今已二十七,卿可去成婚。交语速装束,络绎如浮云。青雀白鹄舫,四角龙子幡。婀娜随风转,金车玉作轮。踯躅青骢马,流苏金镂鞍。赍钱三百万,皆用青丝穿。杂彩三百匹,交广市鲑珍。从人四五百,郁郁登郡门。
阿母谓阿女:“适得府君书,明日来迎汝。何不作衣裳?莫令事不举!”
阿女默无声,手巾掩口啼,泪落便如泻。移我琉璃榻,出置前窗下。左手持刀尺,右手执绫罗。朝成绣夹裙,晚成单罗衫。晻晻日欲暝,愁思出门啼。
府吏闻此变,因求假暂归。未至二三里,摧藏马悲哀。新妇识马声,蹑履相逢迎。怅然遥相望,知是故人来。举手拍马鞍,嗟叹使心伤:“自君别我后,人事不可量。果不如先愿,又非君所详。我有亲父母,逼迫兼弟兄。以我应他人,君还何所望!”
府吏谓新妇:“贺卿得高迁!磐石方且厚,可以卒千年;蒲苇一时纫,便作旦夕间。卿当日胜贵,吾独向黄泉!”
新妇谓府吏:“何意出此言!同是被逼迫,君尔妾亦然。黄泉下相见,勿违今日言!”执手分道去,各各还家门。生人作死别,恨恨那可论?念与世间辞,千万不复全!
府吏还家去,上堂拜阿母:“今日大风寒,寒风摧树木,严霜结庭兰。儿今日冥冥,令母在后单。故作不良计,勿复怨鬼神!命如南山石,四体康且直!”
阿母得闻之,零泪应声落:“汝是大家子,仕宦于台阁。慎勿为妇死,贵贱情何薄!东家有贤女,窈窕艳城郭,阿母为汝求,便复在旦夕。”
府吏再拜还,长叹空房中,作计乃尔立。转头向户里,渐见愁煎迫。
其日牛马嘶,新妇入青庐。奄奄黄昏后,寂寂人定初。我命绝今日,魂去尸长留!揽裙脱丝履,举身赴清池。
府吏闻此事,心知长别离。徘徊庭树下,自挂东南枝。
两家求合葬,合葬华山傍。东西植松柏,左右种梧桐。枝枝相覆盖,叶叶相交通。中有双飞鸟,自名为鸳鸯。仰头相向鸣,夜夜达五更。行人驻足听,寡妇起彷徨。多谢后世人,戒之慎勿忘。
下面为来自百度百科上的部分精妙评述,引录如下。更多精妙请参考:百度百科》孔雀东南飞
全诗“共一千七百八十五字,古今第一首长诗也。淋淋漓漓,反反复复,杂述十数人口中语,而各肖其声音面目,岂非化工之笔”(《古诗源》卷四,沈德潜按语)。在贯穿全篇的对话中,可以看到,刘兰芝对仲卿、对焦母、对小姑、对自己的哥哥和母亲讲话时的态度与语气各不相同,正是在这种不同中可以感受到她那勤劳、善良、备受压迫而又富于反抗精神的外柔内刚的个性。同样的,在焦仲卿各种不同场合的话语中,也可以感受到他那忠于爱情、明辨是非但又迫于母亲威逼的诚正而软弱、但又有发展的性格。
诗中写到兰芝与仲卿死前,兰芝假意同意再嫁,仲卿见兰芝后回家与母亲诀别,他俩这时的话语,非常切合各自的身份与处境。陈祚明《采菽堂古诗选》曾作过这样细致的分析:“兰芝不白母而府吏白母者,女之于母,子之于母,情固不同。女从夫者也,又恐母防之,且母有兄在,可死也。子之与妻,孰与母重?且子死母何依,能无白乎?同死者,情也。彼此不负,女以死偿,安得不以死?彼此时,母即悔而迎女,犹可两俱无死也。然度母终不肯迎女,死终不可以已,故白母之言亦有异者,儿今冥冥四语明言之矣,今日风寒命如山石,又不甚了了,亦恐母觉而防我也。府吏白母而母不防者,女之去久矣。他日不死而今日何为独死?不过谓此怨怼之言,未必实耳。故漫以东家女答之,且用相慰。然府吏白母,不言女将改适,不言女亦欲死,盖度母之性,必不肯改而迎女,而徒露真情,则防我不得死故也。”试想,兰芝如果直说要死,这个弱女子势必会遭到暴力的约束,被强迫成婚。而仲卿的情况自然与兰芝不同,诚如上述引文的分析。又如:“吾意久怀忿,汝岂得自由”、“小子无所畏,何敢助妇语”,于此可立见焦母的蛮横:“作计何不量!先嫁得府吏,后嫁得郎君。否泰如天地,足以荣汝身。不嫁义郎体,其往欲何云?”由此可见刘兄的势利。
即使次要人物如媒人、府君的简短对话,也各各符合其人的身份、特点。
诗中,简洁的人物行动刻划,有助于形象的鲜明;精炼的抒情性穿插,增强了行文的情韵。“鸡鸣外欲曙,新妇起严妆。著我绣夹裙,事事四五通”,写出了刘兰芝离开焦家时的矛盾心情。欲曙即起,表示她不愿在焦家生活的决心,严妆辞婆是她对焦母的抗议与示威。打扮时的事事四五通,表示了她对焦仲卿的爱,欲去又不忍遽去的微妙心理。“却与小姑别,泪落连珠子”,姑嫂关系不易相处,兰芝与小姑关系融洽,正表现了她的懂礼仪、易相处。这同焦母的不容恰成对照。另外,辞焦母不落泪,而辞小姑落泪,也可见兰芝的倔强。
焦仲卿的形象刻划也是如此,他送兰芝到大道口,“下马入车中,低头共耳语”,表现了一片真情。闻知兰芝要成婚,“未至二三里,摧藏马悲哀”,诗篇用马悲渲染衬托他内心的强烈痛苦。临死前“长叹空房中”、“转头向户里”,对母亲还有所顾念,这里愈见他的诚正与善良。
在整篇诗中,类似上述的动作刻划还有一些,笔墨虽不多,却极精粹。兰芝死时,一无反顾,“揽裙脱丝履,举身赴清池”;仲卿死时,顾念老母,“徘徊庭树下,自挂东南枝”,这些不同的动作细节,都切合各自的性格与处境。同样是母亲,焦母“捶床便大怒”的泼辣,刘母见兰芝回家时惊异而“大拊掌”的温和,对性格的描绘来说寥寥几笔已极传神。抒情性穿插较之动作刻划更少,但也是成功之笔“举手长劳劳,二情同依依”,兰芝和仲卿第一次分手时,作者情不自禁的感叹,增添了悲剧气氛。“生人作死别,恨恨那可论”,这画龙点睛的穿插,更激起了人们对焦、刘遭遇的同情。即使那教训式的全诗结尾,也带有浓重的抒情意味,充满了作者的同情与期望。
今天又做了个斐波那契数列相关的题目:上台阶,每次可走一台阶和两台阶,问上10个台阶有多少种走法。 (出处:阅微堂. EMC笔试 , 89种) 。 上次的农夫养牛问题也是个斐波那契问题。
对于斐波那契这一类问题,因为特征过于鲜明,可以一看题目就套上,用的联想的思维方式就解决了。不过如果是在不熟悉此类问题时,首先是根据题目估计可用演绎推理来解决,然后尝试 f(1), f(2), f(3) = f(2)+f(1) 之类的推理。 演绎/推理确实是一项十分重要的解题方法,尤其是在对问题领域不熟悉的时候。
延伸阅读:
- 刘未鹏:知其所以然地学习(以算法为例)
有关25马问题,目前有很多讨论,但是还没有看到真正解决问题的讨论。
TopLanguage 上我的发言:我的发言是8次,应该是正确的,但是还没有找出数学上的理由。
TopLanguage上一个较早的讨论:这个讨论是相对比较意义的,有人说:
其实这个就是kth smallest element的算法,MIT 的 Introduction to Algorithms 里有详细的分析。
参见:http://videolectures.net/mit6046jf05_demaine_lec06/
还有人说:
这个问题应该是磁盘排序的问题的变种吧 在不能计时的情况下 我觉得n * n 匹马 m 条跑道起码需要
两个Blog文章:http://fayaa.com/tiku/view/91/ (有篇评论值得研究,说到是8场)
http://blog.solrex.cn/articles/25-horses-problem.html#comment-1738 (我对他的做法做了评论)
题: 有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间
题目来自CSDN论坛里的讨论,很多网友给出了他们的意见。
其实这个问题要求线性时间条件下,通常会让我们想到桶排序;接着关键是考虑怎么减少桶排序中对桶中各数的排序即可想到解决方法。我的算法如下:
- 主要是先找出最大的数与最小的数,然后构造一个n个桶,桶的下标与数的关系为: index = (v[i]-min)/(max-min/n).
- 遍历数列,将数值插入到对应的桶中。每个桶最多保留最小和最大的两个元素,不需要多余的数。
- 遍历所有的桶,记录每个桶之间有多少个空桶到数据flags中,并求出最大连续空桶数 maxGap。
- 最后遍历flags数组,对于空桶数 >= maxGap -1 的元素,计算从前面的最近的不为空的桶中的大元素与当前桶中的最小元素的差,最终找出最大差。
主算法:
max,min ← GetMaxAndMin (v)
bucks[n];
for i = 0 to n-1
buckNo ← get buck no: (v[i]-min) / (max-min/n) //计算桶下标(如果不为整数,取较小的数的绝对值)
if buck[ buckNo ] is empty: insert v[i]
if buck[buckNo].length == 1 : //insert v[i] 与原来的数构成正序关系
if buck[buckNo].length == 2 : //与原来的2元素按正序关系排列,去掉中间的数,仍然是2个元素
// 标记每个不为空的桶元素之前有多少个空桶
flags[n]; //记录每个桶之前的空桶数目
maxgaps = 0;
tempgaps = 0;
for i ← FindFirstNotEmptyBuck (bucks) to n-1
if buck[i] is empty then
tempgaps ++
else
flags[i] ← tempgaps;
maxgaps ← GetMax (tempgaps, maxgaps)
tempgaps = 0;
// 计算最大的相邻的最大值
maxNeighbor == null;
for i ← 0 to n-1
if maxgaps - flag[i] < 2 then
maxNeighbor ← GetMax(COMPUTE_MAX(bucks,i,flag[i]), maxNeighbor)
return maxNeighbor
COMPUTE_MAX(bucks,i,gap) :
//常数级别,取头或取尾
return GetMinEle(bucks, i) - getMaxEle(bucks, i - gap -1)
<pre lang="c">GetMaxAndMin (v):
max, min, i
n ← v.length
if n%2 == 0 then
if V[1] > V[0] then
max ← V[1]; min ← V[0];
else
max ← V[0]; min ← V[1];
i = 2;
else
max = min = V[0];
i = 1;
for i to n-2
if v[i+1] > v[i] then
min ←GetMin(min, v[i]);
max ← GetMax(max, v[i+1])
else
min ←GetMin(min, v[i+1]);
max ← GetMax(max, v[i])
i++; //每次取两个数
return (max,min)
FindFirstNotEmptyBuck (bucks)
for i ← 0 to n-1
if tempgapstart == -1 then
if buck[i] is empty then
break
else
continue;
return i;
算法题来自 CSDN :http://topic.csdn.net/u/20091001/15/40BF4993-8ED7-45CC-968F-97C524DAE3C4.html
问题: 一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?
这个问题的数学模型是类似于斐波那契(Fibonacci)数列,其计算式为:
F(n) = 1 , n<3
或
F(n) = F(n-3) + F(n-1) , n >=3
十年后是28头牛。实现算法时该贴提到了两种实现方式,一种是用过程的方法实现该数列,另一种是面向对象的方法实现。第二种方法确实更好一些,但是原帖实现似乎并不理想。
2009年8月,Vmware 收购了 SpringSource,详情请看这里。
2009年9月28日,阿里巴巴收购了万网。
这两则消息的背后的秘密,不言而喻,都是为了布局云计算,没有其他秘密。
SpringSource是一家从事企业应用服务基础技术服务的公司,其 Spring Framework 在全世界Java EE应用中举足轻重,其 Spring DM Server 是一款模块化Java EE应用服务器。Vmware的这笔收购,目的是为了整合SpringSource 在企业服务方面的资源,结合自己在 IAAS方面的优势,组建PAAS云计算服务平台。
万网是中国内地一家领先的互联网应用服务提供商,在主机服务、域名服务方面具有强大优势。其在互联网基础设施方面的市场和技术实力都是阿里巴巴布局云计算所急需的。 阿里巴巴在2009年9月9日刚刚宣布成立一家新的子公司——阿里巴巴云计算子公司。阿里巴巴在云计算方面的工作开始正式启航。阿里巴巴是迄今为止中国内地第一家真正进入云计算行业的公司。
Recent Comments