2010年11月20日,这个对我来说有着重大意义的日子,随着NOIP2010--我的第一次NOIP也是最后一次NOIP的结束,我的OI生涯也结束了。上午还在考场中拼命做题,下午还在为不知命运指向何方而紧张,而现在回到家,打开电脑,删了满桌面的OI资料,删了无比熟悉的FreePascal、把已经到零的NOIP倒计时换成了高考倒计时……是啊,不得不告别OI了,不再是一个OIer了,我的OI生涯就这样突然结束了,心里感到无比失落、迷茫。今天考试第一题超简单的模拟,可没考虑到0,得90分;第二题想了个五维动态规划,又怕时空复杂度过高爆0,于是就交了个深搜+剪枝,剪枝又没考虑到n=1的情况,只得了20分;三、四题没时间做也没去骗分,得0分。总共110分,刚好比二等奖分数线差了10分,只有三等奖了。这作为OI初学者的第一次NOIP可以算是个满意的揭幕,但同时作为高三党的最后一次NOIP,这个谢幕很悲惨,但是我还是可以毫不犹豫地说我无悔选择OI!如果非要说后悔的话,我只是后悔自己为什么没有早点接触OI,早一点成为一名OIer,而不是像现在这样,在自己的OI之路刚开始时就结束了。在这个时候,我想我该对我的OI生涯作一下回顾了。
我的OI生涯相当短暂,甚至不知道算不算是“OI生涯”,只有从高二暑假到现在短短3个月,或许我根本就不曾算是个OIer。和大部分OIer不一样,我的OI生涯最先也只能从高二说起。
高二,这是大部分OIer奋斗多年纷纷退役的时候,我知道了NOIP,我的初中、高中学校对OI完全的漠视,导致热爱计算机的我高二才知道NOIP,也仅限于知道有个叫NOIP的电脑比赛,中文是全国青少年信息学奥林匹克联赛,学校没有培训,只有我一个人参加,我都是自学,完全不知道考什么、怎么考,更不知道学什么、怎么学。高二国庆,我向同学借了本C语言的书,疯狂地看了一周,学完了基本语法,当时自己做出书上练习的喜悦、激动至今记忆犹新,这种激情就像一种烙印,深刻难忘,而那些为了保送而学OI的人,绝不会有这种激情。接着,我去参加了NOIP2009初赛,考得很差没通过,很受打击,回来写了篇日志,详见:
http://hi.baidu.com/lyltim/blog/item/4e917cd9b4bb5fe338012f77.html,当时我很迷茫,不知道该不该学OI,由于当时高二上学期学业会考搞得很紧张,我高二上学期时间都在忙会考。
高二寒假,我上网找了本Pascal教材,期间还病了一场,几周艰难自学完了Pascal语法。
高二下学期,我还不了解OI,我的重心还是放在文化课上,用课余时间看基础数据结构(链表、栈、队列、树、图……),而高二下的课余时间寥寥无几,我开始了不听课、不做作业,这对于绝大部分停课免考免作业的OIer来说很正常,但二中从来没这一说。虽然整学期没听课没做作业,但我还能靠温书假几天自学各科整学期的知识做到都及格(全班那么多人作弊也没几个人及格),数学还是数一数二。但是由于平常作业没做,所以经常及格照样不给学分,我也懒得计较,人人作弊拿学分,这样的学分不要也罢!
高二暑假,由于我爸的关系,我到了三中学OI,当时我学的都还是初赛知识,到了三中才进一步了解OI,在三中我学到了很多,在三中机房度过了一小段美好的时光,也是我高中阶段最美好、最值得珍惜的时光。在三中,我看到了我与别人的巨大差距,甚至初中的小朋友就比自己强出很多,我想:别人做到的,我也可以通过如何艰难的努力做到!我要在几个月时间内学完别的OIer几年学的知识(很多都是研究生学的知识)!在我周围同学都在紧张高考总复习的时候,顶着巨大压力,我作出了一个非常艰难的决定:学OI!高三开始学OI是非常疯狂的行为,我估计全国不会有第二个。记得当时三中老师跟我说希望很小,我知道3个月学OI就要在福建这样的OI强省拿一等奖的可能性几乎为0,但我热爱计算机,我又不是为了保送,我只是想学我想学的知识!我要看看我的实力,我知道很多OI大牛的第一次NOIP都是悲剧,我要看看我能考多少(现在看来好不到哪去--!)。由于当时暑假二中要求必须补课,不去就算旷课,我也没在三中学,但拿到了一本很好的书《实用算法基础教程》,就一个月的时间,我自学了大量基本算法:枚举、进制转换、高精度、排序、组合数学、矩阵、递推、回溯、贪心、分治、深搜、广搜……(我已经把我学这本书时的代码打包放在我的网盘:
http://lyltim.ys168.com,作为美好的回忆,如果觉得有用的同学可以拿去参考),由于自学效率低(老师讲的内容都是综合了大量资料后的内容),需要更大的时间投入,而我没时间了,暑假几乎每天6点起床,12点睡觉,飞速地2天自学一个算法(这或许也是我基础不牢的原因)。
高三开学,我开始自学基础数据结构、一些高级点的数据结构(并查集、堆、HASH……)和一些基础图论(Dijkstra、Floyd、Kruskal……)的具体代码实现,从三中拿回了很多配套练习和测试数据,知道了原来OI题是按测试数据算分的,以前我一直以为程序只要过了样例就算正确了,但其实过了样例什么都不是,有可能程序是完全错误的最后得0分。高三学业压力巨大,每天9节满满的课,二中是个只有“高考”没有“奥赛”的学校,当然更不可能有停课、免考这些说法,我在学校也只能看OI书,那一段日子,我吃饭、坐车、洗澡、睡觉的时间都想着题目、算法,真的像走火入魔一般,但没什么时间能用电脑,编程重在实践,我只好平常连洗澡、睡觉的时间也省下来,每天晚上写代码写到凌晨2点,经常半夜睡到一半想到题目算法,爬起来坐到电脑前敲代码、调试,再去睡,第二天还要应付学校迟到、旷课的各种麻烦,我不想管了。
高三国庆,我来到三中开始了听课,三中新高一的同学从暑假开始集训,已经学到了动态规划,我就接进去开始跟着他们一起学了几天。然后用一周时间准备10月16日的初赛,这次初赛顺利通过。接下来,每周末去三中跟着他们学动态规划(线性类型、资源分配类型、区间类型、坐标规则类型、多线程类型、树型、状态压缩类型……)、基础图论(Dijkstra、Floyd、SPFA、Prim、Kruskal、TopSort、Eulerian Tour……),他们免军训免考试的那段时间,我跟着他们每天早上8:30到校训练到晚上9:30,回家继续调试程序到凌晨。看着他们还能免作业、停课、免考、免军训……来集训,信息学完还有奥数,我真是无比羡慕,再想想我就读的学校,初中在福州延安中学这所只知道“中考”的“重点学校”呆了3年连听都没听说过信息学奥赛,白白浪费了我3年黄金时间,中考又由于各种不利因素以2分之差错别我向往的福州八中,高中在福州二中这所一类校中垫底的“重点学校”,更是只有“高考”没有“奥赛”,学校没政策、老师没义务,什么都没有,只有重重阻扰、种种威胁:不给学分、不给毕业……
复赛前2周,我还有很多知识没学,我不能再每天去学校浪费时间了,于是我毅然决定自行停课,我只是想学OI,二中你算我旷课、不给毕业、退学,随你便吧~后来我爸没办法只好写申请给学校,总算过了。停课期间,我又自学了搜索的剪枝、分支定界、迭代加深、记忆化……拿着三中同学借的《奥赛经典》,复习我薄弱的基础、看着不会的提高组题目无奈,刷着普及组各种水题……
做题对于OIer来说是至关重要的,想要拿一等奖,至少要刷几百道题,做完USACO前几章,而我做题很慢,一题一般要做一小时甚至几天,因为做题太少,至今才做几十道像样的题目,也没做USACO,因为高三开始学OI的我真的没时间去题库刷题,我只有无奈,我的实力参加NOIP能考怎样我自己也早有准备。如果再给我一年训练的时间,如果延安能跟我说有NOIP、如果八中有收我、如果二中能早点跟我说有NOIP……我都可以信心满满地拿回一等奖并且不影响文化课,继续学OI,冲刺NOI……可现在说这有什么用呢?没有那么多的“如果”,我只能面对残酷的现实。我正式“退役”了,我的心很难受,OI在每个OIer心中都已不仅仅是一项学科竞赛,而是一种信念、一种精神!每一个不得不退役的OIer,每一个真正爱OI的OIer,应该都能理解体会。从不服输的我不得不向**威武的教育体制低头,去浪费半年甚至一年半时间应付万恶的高考,或许我根本就不曾算是个OIer,希望高考后我能考上个大学,成为ACMer,完成我中学无法完成的梦。
OI伴随我的日子只有短短几个月,但终生难忘。这几个月的记忆又岂是这些文字所能够表述的呢?这中间还有多少辛酸、多少拼搏,或许只有亲身体验过的人,才能感受到。OI,再见。。。
LYLtim
2010.11.20
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!