我的OI生涯

  2010年11月20日,对我有着重大意义的日子。随着NOIP2010--我的第一次NOIP也是最后一次NOIP的结束,我的OI生涯也结束了。上午还在福大考场中拼命做题,下午在为不知命运指向何方而紧张,回到家,打开电脑,删了满桌面的OI资料,删了无比熟悉的FreePascal,把已经到零的NOIP倒计时换成了高考倒计时……是啊,不得不告别OI了,不再是一个OIer了,我的OI生涯就这样突然结束了,心里感到无比失落、迷茫。今天考试第一题简单的模拟,可我没考虑全面,得了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,我的大部分时间还是放在那些高考科目上,用所有课外时间看基础数据结构(链表、栈、队列、树、图……),而高二下学期的课外时间寥寥无几,我根本没时间学OI,不得不一度终止学OI,没有OI的日子我很迷茫,我只好开始了不听课、不做作业来学OI,这对于绝大部分停课免考免作业的OIer来说很正常,但完全没有“奥赛”这个概念的二中从来没这一说。虽然整学期没听课没做作业,但我还能靠温书假几天自学各科整学期的知识做到都及格(全班那么多人作弊也没几个人及格),数学还能考第一。但是由于我平常作业没做,考试及格老师照样不给我学分,我也懒得管,人人作弊拿学分,这样所谓的学分不要也罢!
  高二暑假,由于我爸的关系,我能去三中学OI了。当时我自学的都还是初赛知识,到了三中才进一步了解OI,在三中我学到了很多,在三中机房度过了一小段美好的时光,也是我高中阶段最美好、最难忘的时光。在三中,我看到了我与其他选手的巨大差距,甚至初中的小朋友就比自己强出很多。我想:别人能做到的,我也能通过无论多么艰苦的努力做到!我要在3个月时间内学完别的OIer几年学的知识(很多已是研究生课程)!高二暑假是我高二知道OI后唯一一块能学OI的时间,在我周围同学都在紧张地高考总复习的时候,顶着巨大压力,我毫不犹豫地选择了学OI!高三开始学OI是非常疯狂的,估计全国不会有第二个。记得当时三中老师跟我说希望很小,我知道3个月学OI就要在福建这样的OI强省拿一等奖几乎不可能,但我热爱计算机,我又不是为了保送,我只是想学我想学的知识!我要看看我的实力,我知道很多OI大牛的第一次NOIP也都是悲剧,我要看看我能考多少(现在看来好不到哪去)。由于当时暑假二中违规强行补课一个月,不去就记旷课,我也没在三中学,但拿到了一本OI教程《实用算法基础教程》,暑假被“自愿”上课浪费掉一个月,就剩一个月的时间,我又自学了大量基本算法:枚举、进制转换、高精度、排序、组合数学、矩阵、递推、回溯、贪心、分治、深搜、广搜……(我已把我当时学这本书时的上万行代码打包放在我的网盘:http://lyltim.ys168.com,留作美好的纪念,也可供学习这本书的同学参考),由于自学需要更多的时间投入,而我没时间了,暑假几乎每天6点起床,24点睡觉,飞速地每天自学一种算法。
  高三开学,我开始自学基础数据结构、一些高级点的数据结构(如:并查集、堆、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年学OI的黄金时间,中考又由于各种因素以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

你可能感兴趣的:(我的OI生涯)