ACM / ICPC 比赛的经验
- 比赛中评测会有些慢,偶尔还会碰到隔10分钟以上才返回结果的情况,这段时间不能等结果,必须开工其他题,如果WA,两道题同时做。交完每道题都要先打印。
- 比赛时发的饭不是让你当时就吃的,那是给你赛后吃的。基本上比赛中前几名的队都没人吃,除非领先很多。
- 很多选手,尤其是第一次参加比赛的,到一个新环境,全当旅游了,参观的参观,找同学的找同学,玩玩乐乐就把正事抛到脑后了,结果比赛自然没什么好成绩,这样的例子太多了。所以到参赛地后要时刻不忘自己是来比赛的,好好休息、备战。
- 参赛前一天要睡10个小时以上,非常有助于保持比赛中的精力,很多时候比赛到3个多小时队员就没劲了就是这个原因。前一天晚饭与当天早饭要吃好,理由同上,要知道下顿饭得下午3点赛后才能吃。
- 到新环境,时刻注意远离疾病,感冒肠炎病不大,却是成绩的天敌。
- 英语不好,看不懂的,要勤查词典,懒一次就少一道题,远离奖牌。
- 可以紧张,杜绝慌张,慌张是出题的敌人,任何时候,如果发现自己或者队友出现慌张的情况,提醒深呼吸。
- 照着纸敲代码和sample数据时不要敲错,特别注意文字信息。
- 第一道简单题交给队中最稳的人做,万一遇到麻烦也不要慌,如果有很多队都出了就更不必着急了,它必定是简单题,必定是可以很快做出来的,晚几分钟也比罚掉20分好。另外注意不要PE。
- 最后一小时是出题高峰,谁松懈,谁落后。最后一小时出一道是正常,出两道更好。
以上各条每条都包含着以往教训,每条都可能浪费掉你一年的努力,不可小视。 以下各条有些来自于其他学校,有些是总结:
- 无论是否有人通过,所有题必须全读过,最好每道题都有两人以上读过,尽量杜绝讲题现象。要完全弄清题意,正确的判断出题目的难易,不要想当然。
- 虽然讨论有助于出题,但是以往每赛区第一名基本都是各自为战,但是互相了解,觉得一道题适合其他人做就转手。
- 保持头脑灵活,在正常方法不行时想想歪门邪道,比如换种不常见的特殊的数据结构,加预处理,限时搜索等。效率是第一位的,如果觉得DP麻烦就用记忆化搜索,总之考虑清楚后就要在最短时间出题。
- 竞 赛中更需要比平时稳定,程序出来后要检查重点地方,尽量1Y。对于WA的题,不要改一处就交,很可能还有错的地方,要稳,要懂得在压力下也要仔细。对WA 的题测试时要完整,必须每个点都测到,但不一定特别复杂。要考虑到测试的各种边界情况,比如矩阵可能为1*1或1*n或m*1。
- 除非做出的人很多,否则最后考虑复杂几何题,精度造成的问题太多了。对double型操作要小心判断大小、绝对值等情况。一般情况下不要用float型。
- 块复制要小心,检查相应的部分是否已经正确修改。
- 纸上写程序要尽量完整,每道题上机时间(包括输入、测试和调试)不要超过一小时。程序出错如果一时无法排除就应该打印出来阅读而把机器让出来。
- 提交时注意题号,不要交错题。由于PC^2的界面,这种情况时有发生。
- 尽可能想到题目可以用到的数学的东西。
- 初始化必不可少。
- 数组行列下标不要弄反,位运算或字符串哪头是0和n不要搞反。
- 提交时记得把所有的调试信息都关掉。
- 实在迫不得已才可换人做题。
- 有想法后,写程序之前想好时空效率。比赛中一般不会出现时限30秒以上的题(国外赛区除外),10秒及以上的一般不会超过3道。
- 竞赛机会每年只有一次,训练了很长时间,如果比赛中出现疏失,那么今后一年都会后悔。对于不准备明年参赛的同学,更是要珍惜最后一次参赛机会。
对一个队伍比赛选手的一些要求:
- 要有做题比较多的队员,对于各种题型都有所涉及,做题稳,一般对前两道简单题能够保证快速,并且99%以上一次AC。
- 要有人专门应付数学与几何题,但复杂的几何题要放在最后做,对一些常用的函数要有模版准备。如精度控制,叉积,凸包等。
- 要有人能够对付麻烦的题,并保证一定的通过率,大多数的比赛都至少有一道这样的题,如 POJ 1913,TOJ 1092。
- 要有人对DP非常之熟,单次、双次、相对等情况都不在话下。对经典DP手到擒来。
- 要有人对稀奇古怪的算法都做过程序,涉猎广,对于数论、图论中的一些特殊结论都知道。如 TOJ 1584,ZOJ 1015,UVA 10733。
- 要有人对复杂的通用算法做过程序,如网络流中的最小费用最大流等等一系列的流,求割点/割边,启发式搜索/搏弈等。
- 模版要自己写,并且另两个人都认真读过,用以往题目进行多次的测试。模版要全,但要控制篇幅,因为很多赛区已开始限制页数。
- 要有人对 Linux/vi/gcc 系统熟悉,对PC^2熟悉,一定注意正式比赛时不要出现提交错题的情况。另外也要试用Dev-C++等Windows下的免费软件。总之熟悉比赛环境。
- 每次练习赛都要当作正式比赛来做,要确保所有的题都看过,赛后要把没做出来的题 尽量补上。
- 可能的话多看看以往比赛的总结、照片和录象,缩短与正式竞赛的距离,避免正式竞赛时紧张得做不出题等情况。
- 最好的情况就是对于各种题目三个队员都能做,但是又各有侧重。 要保证出来一道题能够有人会做、敢做,至少也要知道做法。