一个信奥国集学生关于竞赛题的时间分配经验:这个很重要。我就把自己是怎样做的写出来吧。
1)我会用大概 5 分钟左右去完整的阅读题目,因为多一点时间阅读题目,总会有意想不到的发现。
2)用 10-15 分钟的时间去设计算法,要尽量躲避第一印象思路,因为这个思路往往是错的,设计算法不仅要证明这个算法的正确性,还要从时间、空间等因素来考虑是否,千万不要很草率的结束这个过程,因为当编完程序再来改正错误的算法,往往会浪费更多的时间,例如说高一的我,看见题就想做,大概理出了思路就去编程,但是反过头来发现,其实是错的,结果浪费了时间不说,心情还很不好。
3)利用 5 分钟的时间写出程序的框架,第一步该干什么,第二步又该干什么,一步一步的写出来,再对每一步进行一些拓展,写出关键的伪代码等等。这样,才能让自己在编程的时候条理性清晰,才能降低出错的几率。
4)编程 10-20 分钟,前面的工作都做好了,这个过程应该是非常容易的,注意不要犯打错变量、运算符等低级错误就行了。
5)查错 10-20 分钟,往往第一次编出的程序都是错的,所以测试用例的设计和调试经验非常重要,另外单独讲。
这样,一个程序就算写完了,我这个算法流程只是提供一个参考,具体每个流程的时间大家可以看情况去安排,比较简单的程序 30 分钟敲完,中等难度的 50 分钟,难点的 1 个小时左右。