记得2007年的暑假,当时读四年级的我进入了广东北江中小学生电脑兴趣班,开始学习编程,并于第二年参加了我的第一次算法竞赛——韶关市青少年信息学奥林匹克竞赛,从此便踏上了算法竞赛的这一条路。
至今,我在这条路上走了12年了,获得过不少自己满意的成绩,但也经历过不少挫折。
(CCSP2018颁奖)
2008-2010年,我连续三年参加了韶关市的市赛,均获奖:2008年和2009年我获得了小学组的二等奖,2010年我获得了小学组的一等奖(全市第二名),也因此被保送到广东北江实验学校(北江中学的初中部,同时也是韶关市最好的初中之一,民办学校,通常是需要考试的),进入了OI(信息学奥林匹克竞赛)的校队。然而,一路的顺利也使我有些飘飘然,就没怎么用功。在初一、初二两年,我连续参加了两次全国青少年信息学奥林匹克联赛(下称NOIP,每年10-11月举办)和一次广东省信息学奥林匹克竞赛(下称GDOI,每年5月举办),均无功而返,我猛然发现自己和队友们的差距越来越大。班主任和父母都曾经劝我放弃OI。初三的NOIP之前,教练和我说,如果我第三次NOIP还拿不到奖,就会被踢出校队。
我先说明一下,北江的校队从小学班开始就有一个淘汰机制:刚进小学生电脑班时,我们同一批有100人左右,一个暑假过后进行了第一次考试,前50名留下。接下来到2010年市赛前,我们就经历了好几次淘汰,留下的人越来越少。升入初中后,留下的只有获得市赛前15名的选手才能进入初中的校队。在初中三年中,竞赛成绩不理想的同学也可能被淘汰出去,到初三的时候,留下的人仅剩一半,而下一个被淘汰的人就很可能是我了。
(我的智少年学生们)
于是,如梦初醒的我开始努力地学习各种算法,努力地刷题。5月省赛过后,我除了每周正常参加学校的训练以外,每天晚上固定用一个小时的时间刷题。国庆假期的7天里,有四天我是在机房学习。同时,我通过书籍和网上题解、博客学习我不懂的算法和数据结构,比如平衡树、线段树、网络流和二分图匹配等等。另一方面我积极参加各大OJ举办的比赛,比如Codeforces定期举办的比赛以及洛谷、ContestHunter举办的NOIP模拟赛,在这些比赛中来检验自己的学习成果,以及积累更多的比赛经验。
终于,我在2012年的NOIP竞赛中获得了我初中的第一个信息学奖项——NOIP2012的普及组二等奖。初三的下学期,我参加了广东省信息学重点中学邀请赛(GDKOI)和GDOI,并分别获得三等奖和二等奖。
进入高中后,我继续在OI道路上前进。2013年NOIP,我因为一个细节没有处理好,仅获提高组三等奖;2014年的GDOI,我又因为策略失当而与获奖失之交臂。
在省赛后,我给第二年的省赛定了目标——进入省队,参加NOI2015。2014年下半年的联赛,我如愿获得提高组一等奖。
寒假,我前往杭州参加全国信息学冬令营,与全国各地的信息学选手交流,听IOI金牌选手们讲课。在那里我见到了陈立杰、范浩强、杜瑜皓这些大神,了解了很多从前不知道的算法,同时也感觉到自己和全国顶尖选手的差距是如此之大。
可惜事与愿违,我努力了三个月,在省赛上还是由于输入输出格式的问题,以一名之差与第三天的省队选拔赛擦肩而过(省队选拔赛由前两天的GDOI与第三天的GDSOI组成,只有前两天总分在前50的选手才有资格进入第三天的比赛,三天总分在前15的进入省队)。2015下半年,高三的我又参加了一次NOIP,获得了二等奖,就这样结束了我的OI生涯。
上了大学后,我的算法竞赛生涯再次启航。大一下学期我和队友获得了广东省大学生程序设计竞赛(GDCPC)的三等奖。2017年下半年,我获得了ACM-ICPC国际大学生程序设计竞赛亚洲区域赛南宁站和CCSP大学生计算机系统与程序设计竞赛的铜奖。2018年,我和队友在GDCPC和ACM中获得了银奖,并在CCSP中获得金奖。
(ACM-ICPC亚洲区域赛南京站颁奖仪式)
以上就是我这些年来算法竞赛的经历。
回想起这段岁月,我的感觉就是:有舍才有得。这也是我的恩师常说的话。
首先,要平衡好竞赛和学习的关系。不少学校的信息学校队都会在比赛前停课训练,因此我们就不得不暂时放下语数英这些文化课。当然,不少选手靠着自己强大的自学能力补上了这部分课程,当然也有一部分人由于竞赛的原因在文化课上落后了。
第二,不同于数学、物理等高考科目,信息学竞赛好的辅导资料不多。于是我们不得不在中学就啃《算法导论》、《数据结构》、《图论》这些大学的教材。然而,这些对竞赛来说,还是算基础,所以我们还得在练习、比赛中不断提高自己,从各路大牛的博客、题解中学习新的东西。
第三,竞赛的路途上难免挫折,经受失败是必不可少的。
(我的获奖证书)
因此,并非所有人都能坚持住,比如在中学阶段,能够和我一起坚持下来的也仅仅三位同学,其他的要么被淘汰,要么自己走不下去,放弃了。
(我和我高中校队的队友们)
当然,有付出,我也有收获。
首先,当然就是一些比较实在的东西,比如奖金什么的。还有就是升学的优惠,我小升初是直接保送的,升高中时因为竞赛成绩进了实验班,高考自主招生中山大学降了20分。另外,借着比赛的机会,我也有了去不同的地方观光,增长见识的机会,比如中学的时候我去过中山、佛山、广州和杭州比赛、学习,大学阶段去了沈阳、南宁、福州、吉林和南京。如果我没有走上算法竞赛这条路,我可能就没有那么多机会去四处游历。
第二,由于我在中学信息学竞赛的学习中,已经掌握了C++以及算法和数据结构的相关知识,我在大学学习相关课程时就格外的轻松,同时我的逻辑思维和代码能力也比别的同学更强。
第三,我也因为竞赛认识了不少朋友。首先就是我在高中校队的队友,我和他们从小学就因为信息学竞赛相识,彼此志趣相投,又多次共同外出比赛,便渐渐成为了最好的朋友。另外,我在比赛上也结交了来自不同地方的选手。彼此感觉有些棋逢对手,惺惺相惜。
(和2015年IOI第四名杜瑜皓)
对于那些有志于竞赛的同学,我希望他们能够坚持下去,刻苦学习、钻研,取得自己理想的成绩。与大家共勉!
(图:家长、学生反馈)
智少年老师点评:是的,成功从来来之不易。我们老师注重在教学中应用教育心理学、儿童心理学,帮助孩子们在学习过程中,一方面享受学习的乐趣,另一方面,不断提高抗挫能力,为孩子们保驾护航,直到孩子们能展开翅膀,勇敢高飞~
@智少年原创,转发请先联系我们。