比赛技巧

    技术2022-05-20  65

           鉴于大家要比赛了,我把我个人的经验同大家分享一下。大家就取长补短,在提升自身实力的同时,也把发挥实力的能力最大化!

           我就按考试的顺寻来谈谈吧!

           考试前两三天我就进入到了备考状态。在这段时间我要做的是两件事儿。首先,看基础代码,并敲一遍。比如说:敲一遍快排,敲一个agri-net练习kruskal等等。显然这些都是巨水无比的东西,但这个过程是对自己思路的总结,另外也能让自己心里有个底儿。其次,我把考试中的tips看了看,这个实在长期实践过程中体会和总结的,我会在后面提到。考试前一天,我会把以前做过的好题认认真真一字不差地看一遍!这可以激起自己已经生疏的对各种算法的经典应用。

           还有一件事儿要做!洗个澡早点睡觉!

           接下来就是考试那天了,注意早点起床,吃个早饭,自备饮用水和食品,手纸,草纸(以防万一),准考证!饮用水和食品对我的作用有两个——解馋解渴、在没有思路的时候边吃边想避免自己紧张。

           然后进考场了吧?我是这么安排的。首先,在指定盘符建立两个文件夹,你要提交的一个(主文件夹),编程用的不提交的一个(副文件夹)。主文件夹显然按要求命名,里面四个子文件夹,分别放上pasexe。副文件夹中放入四个子文件夹,分别放上编程夹、生成数据夹、备份夹。以我去年NOIP时的为例:

           这时候,可能有人会问,我用不用把快排、高精度、最短路等等先敲出来到时候复制粘贴。我明确地回答你:可以敲敲东西练手但是别复制粘贴!别问为什么,题做多了就会明白了……

           下面考试了,有两种答题策略供大家选择。

           第一个是稳重保守型——把四道题目通读一遍,先做跟以前做过的题目算法类似的,然后做极其简单的,然后做有思路的,最后做难的。

           第二个是一气呵成型——这个是我喜欢的,按顺序做题,对于每道题用大约五分钟在草纸上设计算法,如果没设计出任何思路就立刻跳过。

           当然,我喜欢的不一定适合你,甚至你可以选择除了它们之外别的策略。总之,适合自己的就是最好的

           答题时,按我刚才说的先在草纸上设计算法,然后按过程敲入,然后是调试样例,最后自己用写makedata程序设计数据。为了,方便调试我们写出的程序要有结构。下面我把我刚写的USACO 4.3.2 prime3展示一下,一遍让大家知道什么样的程序方便调试:

    http://blog.csdn.net/a372284362/archive/2011/04/13/6321332.aspx

           如果有谁能好好调明白一个左对齐的这个程序,请告诉我……

           我在主过程中使用了intitdataoutitdatasolve之类的过程,希望大家也能养成这个习惯——将程序模板化,这样有利于红旗调试。

           最后检查一下该检查的东西!文件名打错没?程序名打错没?写assignresetrewriteclose没?文件夹建对没?里面的东西全没?……

     

    附:值得提醒的问题(抛砖引玉,欢迎根据自身需要补充)

    1. i j长得很像

    2. tot sum 意思很像

    3. fill的是char

    4. 风骚的位运算

    5. 搜索、随机,找规律,分能得就得,30总比10分强

    6. 样例特判,无解特判,用好你的writeln,有分总比没分强

    7. 输入输出文件名,文件操作一个不能少

    8. halt前也别忘了close

    9. 实数比较,zero = 1e-8

    10. 回溯、记忆化、指针前移,一失足成千古恨

    11. 初始值和fillchar

    12. 1不是质数,0不是分母

    13. 注意各种边界

    14. 极端数据,随机数据生成时缺一不可

    15. swapvar

    16. 取模运算加除数

    17. 勤劳地加上一堆括号

    18. 勤劳地不用集合类型

    19. const别忽略

    20. 出错不一定出错

    21. ……

    22. ……

    23. ……


    最新回复(0)