路雪军 Carl

I love what I did!
posts - 12, comments - 1, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

acm比赛经验(转)

Posted on 2007-03-03 00:13 路雪军 阅读(1167) 评论(0)  编辑 收藏 引用
在天大,偶参加的比赛可以算是最多的了,说说比赛经验。 
可能现在说早了点,需要大家在正式比赛之前再看一遍。 
推荐此篇文章打印,与模板放在一起。 


1. 比赛中评测会有些慢,偶尔还会碰到隔10分钟以上才返回结果的情况,这段时间不能等结果,必须开工其他题,如果WA,两道题同时做。交完每道题都要先打印。 
2. 比赛时发的饭不是让你当时就吃的,那是给你赛后吃的。基本上比赛中前几名的队都没人吃,除非领先很多。 
3. 很多选手,尤其是第一次参加比赛的,到一个新环境,全当旅游了,参观的参观,找同学的找同学,玩玩乐乐就把正事抛到脑后了,结果比赛自然没什么好成绩,这样的例子太多了。所以到参赛地后要时刻不忘自己是来比赛的,好好休息、备战。 
4. 参赛前一天要睡10个小时以上,非常有助于保持比赛中的精力,很多时候比赛到3个多小时队员就没劲了就是这个原因。前一天晚饭与当天早饭要吃好,理由同上,要知道下顿饭得下午3点赛后才能吃。 
5. 到新环境,时刻注意远离疾病,感冒肠炎病不大,却是成绩的天敌。 
6. 英语不好,看不懂的,要勤查词典,懒一次就少一道题,远离奖牌。 
7. 可以紧张,杜绝慌张,慌张是出题的敌人,任何时候,如果发现自己或者队友出现慌张的情况,提醒深呼吸。 
8. 照着纸敲代码和sample数据时不要敲错,特别注意文字信息。 
9. 第一道简单题交给队中最稳的人做,万一遇到麻烦也不要慌,如果有很多队都出了就更不必着急了,它必定是简单题,必定是可以很快做出来的,晚几分钟也比罚掉20分好。另外注意不要PE。 
10. 最后一小时是出题高峰,谁松懈,谁落后。最后一小时出一道是正常,出两道更好。 

以上各条均有出处,每条都包含着以往教训,每条都可能浪费掉你一年的努力,不可小视。 
以下各条有些来自于其他学校,有些是总结: 

11. 无论是否有人通过,所有题必须全读过,最好每道题都有两人以上读过,尽量杜绝讲题现象。要完全弄清题意,正确的判断出题目的难易,不要想当然。 
12. 虽然讨论有助于出题,但是以往每赛区第一名基本都是各自为战,但是互相了解,觉得一道题适合其他人做就转手。 
13. 保持头脑灵活,在正常方法不行时想想歪门邪道,比如换种不常见的特殊的数据结构,加预处理,限时搜索等。效率是第一位的,如果觉得DP麻烦就用记忆化搜索,总之考虑清楚后就要在最短时间出题。 
14. 竞赛中更需要比平时稳定,程序出来后要检查重点地方,尽量1Y。对于WA的题,不要改一处就交,很可能还有错的地方,要稳,要懂得在压力下也要仔细。对WA的题测试时要完整,必须每个点都测到,但不一定特别复杂。要考虑到测试的各种边界情况,比如矩阵可能为1*1或1*n或m*1。 
15. 除非做出的人很多,否则最后考虑复杂几何题,精度造成的问题太多了。对double型操作要小心判断大小、绝对值等情况。一般情况下不要用float型。 
16. 块复制要小心,检查相应的部分是否已经正确修改。 
17. 纸上写程序要尽量完整,每道题上机时间(包括输入、测试和调试)不要超过一小时。程序出错如果一时无法排除就应该打印出来阅读而把机器让出来。 
18. 提交时注意题号,不要交错题。由于PC^2的界面,这种情况时有发生。 
19. 尽可能想到题目可以用到的数学的东西。 
20. 初始化必不可少。 
21. 数组行列下标不要弄反,位运算或字符串哪头是0和n不要搞反。 
22. 提交时记得把所有的调试信息都关掉。 
23. 实在迫不得已才可换人做题。 
24. 有想法后,写程序之前想好时空效率。比赛中一般不会出现时限30秒以上的题(国外赛区除外),10秒及以上的一般不会超过3道。 
25. 竞赛机会每年只有一次,训练了很长时间,如果比赛中出现疏失,那么今后一年都会后悔。对于不准备明年参赛的同学,更是要珍惜最后一次参赛机会。 



附以前所写《组队赛说明》 

1 要有做题比较多的队员,对于各种题型都有所涉及,做题稳,一般对前两道简单题能够保证快速,并且99%以上一次AC。 
2 要有人专门应付数学与几何题,但复杂的几何题要放在最后做,对一些常用的函数要有模版准备。如精度控制,叉积,凸包等。 
3 要有人能够对付麻烦的题,并保证一定的通过率,大多数的比赛都至少有一道这样的题,如 POJ 1913,TOJ 1092。 
4 要有人对DP非常之熟,单次、双次、相对等情况都不在话下。对经典DP手到擒来。 
5 要有人对稀奇古怪的算法都做过程序,涉猎广,对于数论、图论中的一些特殊结论都知道。如 TOJ 1584,ZOJ 1015,UVA 10733。 
6 要有人对复杂的通用算法做过程序,如网络流中的最小费用最大流等等一系列的流,求割点/割边,启发式搜索/搏弈等。 
7 模版要自己写,并且另两个人都认真读过,用以往题目进行多次的测试。模版要全,但要控制篇幅,因为很多赛区已开始限制页数。 
8 要有人对 Linux/vi/gcc 系统熟悉,对PC^2熟悉,一定注意正式比赛时不要出现提交错题的情况。另外也要试用Dev-C++等Windows下的免费软件。总之熟悉比赛环境。 
9 每次练习赛都要当作正式比赛来做,要确保所有的题都看过,赛后要把没做出来的题尽量补上。 
10 可能的话多看看以往比赛的总结、照片和录象,缩短与正式竞赛的距离,避免正式竞赛时紧张得做不出题等情况。 

最好的情况就是对于各种题目三个队员都能做,但是又各有侧重。 
要保证出来一道题能够有人会做、敢做,至少也要知道做法。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理