Google Code Jam 要进 Final 有多难
说在前面:题目数并不是一个合适的衡量指标,其实想了多少和做了多少一样重要。不过如果默认大家都是有追求的人,在想提高自己实力的时候是不会刻意去刷明显的水题的话,题目数这个指标也还行吧。
确实靠运气,但是每个人靠运气估计也有一点不同,作为一个运气比较好的(进过三次final),估计我的策略还是算比较成功吧。
前提:你的实力至少应该可以稳进Round2,不挂能进Round3吧,毕竟进到最后一个Round不难,大约就是大家都会做的题你也会做并且能做对就行。(如果说到这个水平要练多少题,我想说如果选题得当,1000题估计差不多?)
所以我只用说Round3我是怎么想怎么做的,可能会有点启发吧。
首先我自我评估自己的实力如果大家都正常发挥应该是不到前25水平的,所以想要进final就得拼一把。拼一把和稳稳做题毕竟不一样,我尽量是不会碰small的,浪费时间还没用(这个和GCJ的命题风格有关,一般能跑出large的程序也能跑出small,不像IPSC经常坑)。想清楚算法和实现细节之后我才会开始写(这个是个人习惯,觉得这样比较节约时间,也有其他人喜欢一边写一边想)。但是一般会随时关注ranklist,因为一般来说前一个小时两个小时的ranklist你就基本可以猜出要达到什么分数才可以进前25了。这样可以更方便指定自己的策略,比如是不是还需要抢时间?还是只用把手上这道题稳稳写出来就行了。当然这还是需要一定的比赛经验的。
你需要找对自己的位置,设计合适的策略,然后运气就只用放在:最后自己的程序都过了。而且自己写的程序的准确率还是很好练的,只要坚持做题就能维持在一个比较高的水平吧(这个准确率的问题需要做多少题就很难说了,毕竟做一万道题有做一万道题的感悟,做十万题有做十万题的体会……)
总的来说,我还是在用比赛经验换实力……