我的高中(三)无意的选择
自从我的高中二写完以后,我的高中(三)拖到现在,还是因为一次浏览器崩溃,致使我写的洋洒万言丢失,而且Wordpress居然完全没有备份,愤懑之下一拖竟然就是两个月。正好今天是NOI2010的第二试,便又想了起来这回事。以上都是题外话,下面接着写。
五、无意间的选择
NOIP2007胜利的喜悦过后,我却又陷入了迷茫之中。班主任陈老师主张我来把时间花在数学竞赛上面,而我的信息学奥赛教练常老师觉得我适合于继续深造。无论如何,我又恢复了把主要精力放在文化课上,有一段时间我一直在弥补政史地等文科课程的缺失,虽然很累,想想那段时间还是很快乐了。一个周末晚上我、蔡馨霄和马浩一起出去吃烧烤,吃饭的过程中聊起了各自的计划和打算,实际上他们也很含糊。既然无法决定学习信息学竞赛还是数学竞赛,我就先两手都抓。一次偶然的机会,我从常老师那里得知了NOI冬令营这回事,大概的印象是中国计算机学会主办的一个信息学竞赛培训和比赛。常老师建议我参加,我就报了名。其实我报名很大一部分原因是因为得知了冬令营时间和期末考试冲突,这样我就可以像逃过期中考试一样地逃过期末考试了。
由于没有了期末考试的压力,我便不由自主地放松了学习文化课,于是我有了更多的时间花在信息学竞赛上面。常老师在NOIP以后开始教授更深一步难度的知识,第一个便是二叉查找树这个数据结构,接下来便是堆、并查集、线段树、图论算法等,虽然难度加大,却让我领受到了编程更多的乐趣。不知不觉中我放弃了数学竞赛的学习,全身心投入到了信息学竞赛当中。也许正是这个无意间的选择,改变了我今后命运的足迹。
很快NOI冬令营就来临了,看着同学们一个个都在参加期末考试,我一阵窃喜。出发前常老师让我用了一台笔记本电脑,趁着机会我还去买了正版的仙剑四,装在上面玩了起来。2008年的冬令营是在绍兴一中,位于一座漂亮的小城市。冬令营一共持续七天,其中有一天是组织出去玩,最后一天是比赛,其余全是讲课。具体讲的什么内容我已经记不起来了,只是第一天上午清华吴文虎教授讲课可真够煽情的!吴文虎是清华的教授,NOI这个比赛就是他在邓小平“计算机普及要从娃娃抓起”的政策支持下于1984年创办起来的,至今已逾25载。他给我们讲,我们是祖国的希望、民族的未来,动情动色,讲得我们快掉泪了。出去他之外,其他讲师讲得我几乎一点也听不懂,常老师也安慰我说没事,过一年就好了。本来这个冬令营是仅仅为前一年获得金牌的NOI选手,也就是国家集训队成员开设的,后来计算机学会秘书长杜子德为了创收,便把这个活动扩大到了每省若干人。好在河南省比较弱,没几个人参加,要在强省中想来冬令营是需要选拔的。每年冬令营的亮点便是国家集训队成员的论文答辩活动了,国家集训队成员一个一个轮流上台,用十分钟时间介绍自己的论文。论文的内容是于信息学竞赛相关的一个算法或是数据结构的研究,还是相当有水平的。最后一天的比赛是从早上八点到中午一点,一共五个小时,我是第一次参加时间这样长的比赛。花了好长时间看题,一点没有思路,比赛的环境是Redhat Linux 9,我更是傻了眼。可喜的是,我奇迹般地拿到了几十分,真是振奋人心。几天冬令营下来,我最大的收获就是感受到了差距,拿个NOIP一等奖算什么?我前面的路还长着呢。
六、CmYkRgB123在线评测系统
一次和常老师的聊天中,我得知学校有一个以前用ASP开发的在线评测系统,就像USACO一样,提交源代码,自动编译评测,返回结果。可惜的是那个ASP写的玩意儿有这诸多的不方便和漏洞,于是我便萌生了重写一个评测系统想法。冬令营上的Redhat Linux使我大开眼界,我第一次迈入了Linux的神秘大门,结果发现Linux并非想象中那么难学难用,相反有时候好用。寒假里我便开始了PHP的学习,并且成功地在学校的Redhat Linux服务器上架设起了Apache MySQL PHP的开发环境。身为竞赛班的学生,开学自然比其他班更早,但好在不是很忙,我便花了大量时间在机房内开发评测系统。那是2008年的2月份,正值我刚开学期间,父亲摔伤了,足部骨折,而我却在废寝忘食地开发着我的系统,没有关心父亲,想来有些后悔。
总之还是功夫不负有心人,一个多月后,伴随着我学习PHP和Linux的过程,评测系统也成形了,我给它取名CmYkRgB123 Online Grading System,简称COGS。COGS一在学校内部公开,便得到了老师和同学们的支持,这种成就的感觉真是快乐啊。以后每次老师出题,我便把题加到COGS上面,很快地上面的题越来越多,同学们也习惯于在上面提交了。随后几个月我一直在完善各种功能和修复漏洞,后来还加上了比赛模式。直到2008年9月以后,我已经无法继续维护了,代码越来越复杂,越来越臃肿,都是初期设计的问题啊,于是我便对其不闻不问了。令人高兴的是,它一直运行到了现在,我离开以后由我的后辈学弟们继续维护,能让我把当时的学习经验留给他们真是一件莫大的荣幸。
七、失败的省选
河南省实验中学信息学竞赛又常老师主持,分为了几个小组,一个初中小组,一个高中小组,一个高级小组。高级小组主要成员全部是像我一样的初中特招生,主要面向高于NOIP水平的比赛,高中小组和初中小组分别是高一和初一才开始入门的学生。此外,高中小组学生如果两年都没有获奖,高三还想继续比赛,也要被迫加入高级小组。当年是这样,现在据说有所扩大了,高中小组又分为了高中一组和高中二组,也算是蒸蒸日上吧。
高一第二个学期一开始,我所在的信息学竞赛高级小组便来了一个新的面孔,他叫李垚。李垚本是高中小组的,但其已经获得了NOIP一等奖,而且企图更上一层楼,便加入了高级小组。我和李垚颇谈得来,而且在信息学竞赛问题上还可互帮互助,真是不可多得的良师益友。很快就到了四月底,省队选拔的日子来临了。进入省队是参加NOI的必要条件,也就是说,必须通过省队选拔,才有机会参加NOI比赛。省选是一件很残酷的事,一个省只能选出五名选手,为了维持性别比例,还必须至少有一名女生,这意味着,我只有在前四名,才能进入省队。不能不说,我的压力很大,可能是太过于自负了。最终的省选上,不但我落选,我们学校全军覆没。但我、马浩和蔡馨霄还是获得了夏令营的名额。
回头想想,实在是我太心浮气躁了,根本没有花足够的精力在竞赛上面,NOIP2007之前那种奋斗的意志,我好像已经忘到外太空了,这四个月在USACO上面的进展竟然不如当初一个多月。评测系统花费了我太多的时间,新算法、数据结构的学习又是浅尝辄止,总是妄想能够轻而易举拿个奖,而忘记了自己真实的差距。祸不单行,我的文化课成绩也是一落千丈,从全班二十多名,落到倒数第几,年级四百多名,要知道按照高考,只有年级三百名以内才能考上一本类大学。省选前的一次月考,我的数学成绩落到了不及格的水平,班主任和我“谈话”过后,我有种万念俱灰的感觉,甚至差点放弃省选。现在想想,我都不知道当时是怎么从那种痛苦中走出来的了。经历过痛苦,才能使心灵更加成熟,更加健壮。