永夜初晗凝碧天

本博客现已全部转移到新地址,欲获取更多精彩文章,请访问http://acshiryu.github.io/

导航

[转]ACM人生

与ACM接触这么长时间了...有点感悟.....
-------------------------------------------------我割-------------------------------------------------------------------------------
首先呢,为了简化文章,请允许我
#define 它 ACM
其实能,它对人生的指引很大......客官,请听我细细道来~
它的比赛主要是思考,留给拍代码的时间很少,为什么呢?---答曰:三思而后行~
它拍出地代码,可能会Wrong anwser,怎么办呢?---答曰:不断完善自我~
它思考的方法没错,可能会TLE,MLE,怎么办?---答曰:不满足现状,寻找最优解~
好了,这些都太空洞了~说点实际的~

话说有一天你去姑姑家吃东西,晚上必须回来~如何能在这么点时间吃到价值最大的东西呢?
---贪心,每次都先吃最贵的东西

然后又一天,你要去一个地方,可是你补知道怎么走,怎么办?
--搜索(不要告诉我你只会bfs,dfs),一般人都用的是A*..........

接着呢,问题又来了,不同的路由不同的路境~有的要耗费的气力多写,怎么办?
----跑一次Dijsktra或者Spfa~
如果你想到达每个景点,却又想走最少的路长,怎么办?
----最小生成树呀~Kruskal,Prim任您享用~
不过呢,就是因为旅游局长看你每次都能走最短的路,把你提升为了officer,这下你要知道所有点之间最短路,怎么办?
----跑一次Floyd就可以了....

好吧,走来走去的也够无聊了....换个情景~
一堆单身男女,他们要结婚,但是不同的人只喜欢异性中的一部分(可以理解嘛~都是单身的,但是不同人的口味也不同嘛),怎样才能让更多的情侣终成眷属?
------左边=男,右边=女,二分图匹配~典型的匈牙利算法~
问题又来了,不同的人之间结婚了,会有一个幸福值,要使得这个幸福最大,怎么做?
------还是二分图匹配,只不过这次是带权值的了,跑一个KM算法就可以了~
然后呢..问题又来了(你是问题儿童么?),不同的人,对不同类型的异性都有一个厌恶值,厌恶值太高了他们结婚是不会幸福的,但是又想让所有的人都结婚,能不能?
-----把每个人拆点,一个是总的值,一个是厌恶值,总值往厌恶值连一条边,然后再在男女之间连边,男->女,女->男均可...看个人喜好,跑一次SAP就可以确定能否每个人都能幸福了....

这些太玄了...来个简单又好理解的,每个人每天都要有个规划嘛~一定天数之后如何规划使得自己实力尽可能的提升,怎么办?
---贪心么?每天都选择最优的规划,如果这样想...那肯定是WA~~~每天都选择的最优规划不一定是全局最优的最优规划,所以呢?你就要DP...因为今天的状态只跟昨天的有关,满足无后效性~而且,如果到达了昨天不是最优的,那么完全可以有个更优的方案来取代昨天的方案~因此,这样就转化为了一个简单的DP....如果考虑了其他杂七杂八的话,那么就复杂了...不过归根结底它还是个DP....只不过多了优化,什么四边形呀,斜率呀,单调队列呀,线段树呀~你能想到的,你想不到的,这儿都有概率用上......

当然,还有太多太多的东西了....在此不一一枚举,最神的就是一个数论了,一个数的方呀,模上一个数呀..然后又乘啊除啊什么的,一会就可以搞出一个貌似和这些根本没有关系的题目...当然..主要是我数学太弱了....遇到什么组合数,就一种一种的数,然后数出得结果总结成公式..再次吐槽数论的....

当然....有些事还远远没有这么简单...比如说,你追一个女孩,久久不能追到,怎么办?及时break;有时候,一件事很麻烦,但也毕竟只要循环有限的次数~当然,这个和上面的追女孩是矛盾的,不过怎么样实验,最终还是看你的代码能力~如果实力够强,TLE的都可以神姿势卡过...



posted on 2011-08-21 17:54  ACShiryu  阅读(408)  评论(0编辑  收藏  举报