准备写题前三思而后行,只要心里有一丝疑惑,那就停下,再想想。
写代码要注意状态,对自己有时时的感觉一下,如果一旦思路乱了,不知道下一步该干什么了。停!
写完代码干什么???编译?NO!
先把代码从头到尾读一遍。要追求一个标准,ZERO编译错误。
这个经过训练很容易做到,去年区域寒ChaeYeon队状态最好的时候,经常喊出一句话:Yeah,一次编译通过!下一句就是:Yeah,一次过样例!再往下就是一次AC。如果不AC,那往往是算法有错误。
编译错误的多少,是检验你的代码状态好坏的一个准确标准。当你感觉你的编译错误过多的时候,那往往你的状态太差,这代码,要从头到尾再重新读,而不是去修改编译错误。
看代码是非常非常重要的一步。这一步要细致!
样例不过干什么???Debug?NO!
再读代码!样例一般是非常SB的,不用Debug,你自己把样例在脑子里跑一遍,用这个来Debug。等你一遍遍printf去Debug出来的时候,别人早过了这题了。
这些方法之所以说要训练,是因为大家都不习惯这样做。但是你坚持一段时间之后,你会有收获的!
-------------------
习惯,是可以改变的!
-------------------
有一句话非常不好: “我这样做是因为我习惯了!”
习惯只是懒人给自己找的借口!
过了样例干什么???提交?NO!
先打印,再把代码从头到尾看一遍!
如果你观察去年的ChaeYeon队,那你会发现,交题的人,不是写这道题的人。
而且你会经常听到一个字:交!
这是写这个代码的人在跟占着机器上的人说的话。这也是他把代码看完的时候。
用YY的话来做一个总结:
Slow is Smooth, Smooth is Fast!
1)就我接触的几名队员而言,不知道为什么都在钻研一些偏难的数据结构或者算法,其实个人觉得在目前国内题型的局势和你们所处年级的阶段而言,将大量的时间投入到基本算法及数据结构的灵活应用更为重要(如搜索、dp、网络流、计算几何、线段树)。比赛的时候能做出一道有上下界网络流固然是锦上添花,但往往输掉比赛都是因为没有将最大流的模型构建出来。
2)个人认为练习基本算法最好的途径是专题训练。但是很多小朋友反应不喜欢切题而是喜欢切比赛,有些则是反之。这个一定要改变观念,训练不是打游戏,如果按兴趣爱好来练那想拿名次是比较困难的。所以做题只有一个目的,就是我要做而做,而不是我喜欢做而做。(别想歪)