算法在追MM中的应用
动态规划
如果你要追求一个MM,就要把这一问题分解开来,各个击破,才能最终赢得美人归,这叫动态规划(当然,有时间要求,一般数月解决)。记住,并非追求每个MM都能用这套方法解决,比如有些MM天生独立性强,不受其他人蛊惑。要使用这个方法有两个条件,第一,最优子结构(即如果子问题得到最优解决,那么追MM就解决了),第二,子问题重叠(即某些子问题不需要重复解决,只要解决一次就可以了)。
以追MM为例,要追到MM,必须把这个复杂问题进行分解,分解为多个子问题,比如宿舍室友问题、MM个人情感问题、MM的爹妈问题等等。如果把这些问题都解决好的话,那么MM也就到手了。如果有哪个子问题解决不好的话,人家就会诋毁你、毁谤你,到时你就玩完了。另外,在子问题中,也可能包含子子问题。比如MM的个人情感问题,可能会分解为过去情感受挫、个人情感取向等等。子问题的解决也依赖于子子问题的解决。
再看第二个,子问题重叠。如果MM有过去的情感纠葛,而且一直放不下的话,你就要解决这个小问题。你要解决这个问题,也许会通过宿舍室友旁敲侧击的解决,也许会直接了当地和MM交流来解决,也许会通过MM父母来解决,记住不要让所有人都来解决这一个问题,那就重复了,浪费时间。这叫子问题重叠。这样你就能在最短的时间内追到MM了。
该方法的缺点是开销较大,因为每个子问题都要好好对待。。。。
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
贪心法
要是每个女孩子都要用动态规划方法追求的话,估计很多男生宁愿单身。
你追一个MM的时候,从相识到相知,每次都采用最aggressive的方式,进攻进攻再进攻!从不采用迂回战术或是欲擒故纵之法!目标是以最快的速度确立两人关系。
该法优点是代价小,速度快,它在对时间要求比较高、同时对最优解并非非常在意的问题上比较有效。但缺点是不是每次都能得到最优解…...
------------------------------------------------------------------------------------------------------------------------
回溯算法
追一个MM,但也许你还是情窦初开的新手,不知道如何才能讨得MM的欢心,于是你只好一条路一条路的试,MM不开心了,你就回溯回去换另一种方式。当然其间你也许会从某些途径得到一些经验,能够判断哪些路径不好,会剪枝(这就是分支估界了)。你也可以随机选择一些路径来实施,说不定能立杆见影(这就是回溯的优化了)但总的来说,你都需要一场持久战......
该算法一般也能得到最优解,因为大多数MM会感动滴!!但其缺点是开销大!除非你是非要谈一场恋爱不可,否则不推荐使用。特别是你可能还有许多其他的事情要做,比如学习,比如事业......
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
深度优先
深度优先就是追一个mm追到底,直到失败然后换个mm继续追……
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
广度优先
为了追一个MM,你决定周一跟她跳舞(第一周跳慢三,第二周跳快三,第三周伦巴,...)、周二吃饭(第一周全聚德,第二周郭林,第三周肯德基,...),周三出去玩(第一周故宫,第二周圆明园,第三周颐和园,...),周四...
你定好了计划,于是按照计划实施。
如果这个MM是个跳舞狂的话,你也许在三周过后能够追到她(即总能找到目标节点)。于是你想,假如星期一慢三,星期二快三,星期三伦巴的的话,不是只要三天就追到了吗,用得着三周吗?(这叫深度优先,即把一种方法发挥得淋漓尽致)
问题是,你对这个MM不了解,所以你只能用广度优先的方法。这个方法会确保你最终追到MM,因为你尝试了所有的方法,而且这些步骤是一步步实施的。
------------------------------------------------------------------------------------------------------------------------
A*算法
A*算法是深度优先和广度优先的结合物。实施A*算法之前,你并没有固定的安排,比如周一干什么,周二干什么,你的策略是随机应变。在你跟MM接触的过程中,你发现MM喜欢跳舞,于是你就经常安排去舞厅。后来你发现她喜欢旅游同时有些厌恶跳舞时,你赶紧和她到处玩。再后来你发现MM有心事,于是你赶紧开导,进行心理干预 ......
于是,你追到了MM,而且在最优的时间内追到了她。
A*算法才是聪明人喜欢的方法。
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
二叉树的前序、中序和后序周游
前序就是直接搞定MM,然后搞定她爸妈(左)和你自己爸妈(右)
中序就是先搞定未来岳父岳父,然后搞定她,最后告诉你爸妈
后续就是,让未来的岳父岳母和自己爸妈都觉得你们合适之后,才对MM下手,这个时候就没有障碍了啊
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
P vs NP
P类问题和NP类问题是算法设计的两个基本问题,就像年轻MM也分为两种,一种好追,一种不好追。很明显,P类MM比较容易追到,而NP类MM也许穷尽终生也能以被打动。
P类MM好追并不是说会主动投怀送抱,而是说也许努力几个月或几年会有收获(在多项式时间内会有结果);而NP类MM不好追也并非是说绝无成功的可能,而是指成功机会很小,难以在多项式时间内解决掉。假如你又帅又有money的话,也许能够解决NP类MM,就像你有超级计算机或指数级时间的话,NP类问题也是可以解决掉的。但一般人没有这种资源,于是请远离NP类MM,尤其是NP-complete类MM,已经有无数人失败过了,所以你也很难成功。
有时候,有些既无才又无财的GG追到了NP类MM,何也?
1 可能对NP类问题进行了限定,比如这个GG可能是NP类MM的同学或熟人,因而容易搞定。
2 可能采用了近似解法。比如事前约定,不能干涉NP类MM的私人空间,因而也解决掉了,虽然不是完全解决,仅仅找到了次优解。或者,你对MM说,做不了情人,就做朋友吧,于是你俩认识了。这也叫做近似解决。
在你追了若干美女都失败告终后,你发现有一批美女追起来是一样困难的,如果你能追到其中任何一个就能追到其他所有的美女,你把这样的女人叫作NP-Complete。
P=NP:这是一个美好的猜想,追美女和恐龙的难度其实一样。
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
网络流
追MM的时候总避免不了送礼物,但是你老是直接送礼物就会给MM造成很大的压力,于是你就想到了通过朋友来转送的方法。你希望送给MM尽可能多的礼物,所以就是需要找到一中配送方案,就是最大流了。然而你请别人帮忙并不是不要开销的,你让A同学拿去给B同学可能需要一些花费,自然你不是一个大款,想最小化这个花费,那么就是最小费用最大流了……
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
STL:某位贝尔实验室的大牛在追了N个MM后,为了造福后来人,总结了自己的经验, 出了本《 追MM求爱秘笈大全》,英文名叫Standard courTing Library,缩写为 STL。广大同学在使用STL后,惊喜地发现追MM变得异常方便,大大缩短了时间和精力...