Time Waits For No One
作者:阿辉(helihui)
声明:我所说的仅代表个人想法,未必正确,只是给大二大一的一个参考。
我是一个集训队员,也算资格比较老了吧(不是说我实力比较强),从大一开始我就参加浙江大学的比赛了,但大一的时候去只是刷了3个水题(其实还有其他水题),记得卡在一个几何题目上。大二又去了,拿了个铜奖。比较悲剧的是这次还是拿了个铜奖。以后不去省赛了,但是我的心依然在台州学院的ACM集训队里,陈老师、胡老师和王爱冬等老师的培养和指导铭记于心。我在此对他们表示感谢,如果没有他们,就没有现在的我,更没有现在的集训队。
下面说说我的一些经验吧:
关于做题目上
(1)读题的时候千万要读仔细,不要为了求速度而粗略一读,虽然有时候刚好是对的,但当wa的时候,你就会很郁闷,然后一直纠结着。。。花5分钟读题花1个小时查错。
这样还不如花15分钟读题,花15分钟打代码。很明显第二种方式好,而且如果你已经了解OJ是怎么算你做题时间的,那么你会觉得节约的时间远不止半个小时。
(2)打代码的时候要稳而快,保证稳的前提下再快。还有注意一些细节问题,如:
Scanf(“%c”,ch);前面如果回车过,那么要用getchar();把那回车符接收掉。
然后gets();后的话就不需要那个getchar()了 ,因为它会帮你把回车符清除。
至于为什么,这个你们自己找资料,资料很多的。找不到就在群里发问或tzc论坛发帖。
(3)打完代码,最后那步就是交题了。交题前要看清选择的编译器,你用C语言写的话用C++或C编译器提交都没问题,如果你用C++写的,那只能用C++编译器提交,原因你应该知道,不知道就百度。交完题,你会看自己提交情况,如果遇到一起提交的人相当多,无法在一时间知道结果,那么你马上看剩下题目中哪个题目被做的最多的,马上看那个题目。因为做的多的一般都是水题或是简单题。注意把握时间,不要陷在一个题目里,你觉得很对却wa,说明你题目读错或理解错了。暂时放放或看看是否自己理解错了重读题目。千万不要自己认为对了就对了,检查代码又看不出错误就拼命题目,这样罚时会很严重的。正规大型比赛中罚时可能觉得你是否能得奖。
这点把握比较难,希望你保持一个良好的心态,紧张只能使情况更糟,比赛前深呼气放松放松。。
关于与队友合作
ACM比赛其实不是单枪匹马的,三个人组成一个队伍,各自配合完成整场比赛,
队伍的荣誉就是你的荣誉,当然反之也一样。当然你也不能在队里混,这样你也对不起你的队友(有点严重)。各个队员不能把研究方向分的太明显,因为比赛的时候你们是要相互讨论解决问题的,如果你完全不知道各自的算法,那么就像对牛弹琴,完全失去了团队的作用,最终的结果肯定会悲剧。除非你们都是大牛(这个可能性很小,因为大牛很稀少)。也就是说队伍里每个队员都要会基础的算法,其实你也不能总是说你会什么算法,算法是人想的,那个书里的算法是死了,只能应付那种情况,要是题目一变,那个算法要变形,那么你还会吗? 难道你是把那个书上的算法背下来的?如果是这样你就错了,做ACM是锻炼你的思路能力不是考你记忆能力。考记忆我觉得人文的肯定比你好。千万不要死记硬背,要研究算法的推导过程,彻底搞懂,并有比较多的题目作基础。到了那个时候你就觉得那个算法太简单了,也没什么了不起。当然你也不能这么想,创造是最难的,学习是简单的,既然学习简单的何不投入精力去学呢?没有学不会的,只有不去学的。
也不要和队友之间比谁比较 厉害,要比你们也要和其他队队比,其他好的学校比。
队友之间要互相谅解,互相帮助,互相关心,平时要多交流,关系融洽。当然,前面的这些是建立在队友不是在那完全混,什么都不干就是去混的,那么你可以向老师反映。因为这个毕竟关系到你是否能在省赛取得成绩或是否你们队能去省赛。提早说,提早和新队员认识熟悉,配合。
比赛时候要找到自己队伍的特点,安排做题顺序。大概应该是这样的:
(1) 水题 省赛会有三个(大约或更多) 要各自看。有一个人在电脑上看,其他人看纸质的题目材料。如果没读到水题过了5分钟,那么在电脑前面的要看下contest题目列表,哪个题目有人通过了,这个很明显,最先通过都是水题或简单题,然后安排一个人去读那个题目。
(2) 到了最后一个到2个小时(大概估计),水题和简单题基本做完,那么你还是得看哪个题目做出的人多,然后做那题。现在可以两个人做一个题目,因为题目不怎么简单了,当然非常有思路,很清晰,马上可以代码的,就直接上去打,其他人去看其他题目(看看题目列表哪个题目过的多的)。坚持随大流的原则,因为我们不是大牛。
(3) 做的差不多,无题可做,也要坚持,不到最后一刻决不放弃。奇迹可能就在那10分钟。
最后说说平时训练
平时做题,如果那些题目是常规算法的,搬出模板,直接过,你必须知道算法的原理,和自己会写。(如果不会赛后把原理搞懂,因为省赛不会出这种题目的,集训队的目标不正是省赛吗?平时训练做再多题目都没意义(如果没理解) )
一定要脚踏实地地老老实实训练,不要偷懒,这次偷懒你下次想要学都没那精力和心思了。学会自我总结,不会的算法学会找解题,解题如果涉及到自己不会的算法,马上找资料学,学好再来解决这个题目。不要按着解题报告直接打代码过掉,这样你还是没学会,还不如不交。
要学会坚持,放弃代表失败,不放弃终有成功的一天,当你收获成功的那份喜悦,你会觉得辛苦真的没有白费。
我已经感受到了,所以我来这留个脚印,希望大家都能收获自己的喜悦!
好了,就到这吧。
最后祝愿台院ACM越搞越好,更上一层楼!!
来吧,台州学院ACM集训队欢迎你!相信自己,你行的!!