王小波有一次参加黄集伟的孤岛访谈录节目时被问及如果孤身一人去孤岛会随身带一本什么书,他说会选择带一本吉米诺维奇的习题集,有一次李银河去美国的时候他一个人闷在家里就用做题来消磨时光。
最近偶空闲的时候也在Project Euler上做题目打发时间,说闲着其实也不恰当,人总有一些事情虽然知道要做或者不得不做,却挨着放着,眼不见心不烦,毋宁做些(不)简单的另一见完全不相干的事情愉悦身心来得叫人高兴些。
从昨天开始我这个小菜被Problem 18和Problem 67折磨,二者的差距在于问题的规模,brute force可以解决前面的问题但是很傻又需要“take over twenty billion years to check them all”解决Problem 67,其次greedy不行,试错就可以了,昨晚甚至想可不可以把Dijkstra改改变成“单源最长路径”@_<,早上想想还是不对,还是觉得应该是dynamic,当然最后我还是做出来了,把问题反过来想就好了,从叶子节点往上计算父节点,从两个子女中选取得分更高的再加上自己的分数,依此类推,迭代之后这棵满二叉树的根节点的得分,就是题目要求的结果,赞!
“Make everything as simple as possible, but not simpler.”
— Albert Einstein
越来越觉得不要把事情想像的太复杂,表重复发明轮子,*NIX不是也提倡KISS吗,结果相反倒是占得比例不大了,方法也没有最好与最坏,合适的又省力又好。突然想到以前在TopLanguage看到说quick sort的效率很好,但是当数据不太“乱”的时候,就不太适合用快排,你可以选择a. 自己发明一个更合适的算法,这也许要很久,或者b. 把数据弄得稍微“乱”一点,这真是太酷了8-)
P.S.今天的怨念=Heroes停播+偶的T43最大只支持2G内存->忍!



Recent Comments