一个菜鸟的ACM/ICPC回忆录 分享至QQ空间

发布时间: 2012-04-26 22:10:13.0 点击: 3192

(一)如果爱

第一次 知道ACM/ICPC(国际大学生程序设计竞赛)是在大二,有一次寒假在北图闲逛,忽然间发现了lrj的《算法艺术与信息学竞赛》这本书(后来证明这本书 是ACM届的一本奇术,这种邂逅也许也是一种于ACM奇缘吧)当时还不知道什么是算法,只是看到了信息学竞赛几个字,由于我高中的时候搞过一段时间的物理 竞赛,对于竞赛有着解不开的情节,觉得自己应该也会挺感兴趣,就毫不犹豫的买了这本书,怎料回家之后却看不懂几个字,甚是郁闷。

开学后 我一回到学校,就无意中知道Nauhcud和egg也想搞ACM,于是我们就不停的在学校先锋BBS上面看,想找到学校里面搞ACM的学长参加训练,后来 就认识了Willmate和bool,才知道Willmate居然是和我们一届的,但是人家已经参加过一次比赛了。

接下来 出场的就是大牛newton。他和will一起组织了我们当时的培训,在教学馆214,每周一次。第一次去上课时候我的心情很是忐忑,当时在poj上面没 做过题,什么算法啊数据结构的都还没有学过,怕自己听不懂,于是听得特别认真。我还清楚的记得第一次课上newton给我们讲的是比较容易理解的二分法。 当时觉得很难,于是copy了例题的代码回去慢慢研究了一晚上才琢磨透,第一次提交代码并通过的时候,我便深深的爱上了ACM,并且下定决心要把自己的精 力全部投入到这个比赛中去!

大二暑 假是我全力准备ACM的时候。那时候在北大上仅仅做过50多道题目,感觉自己的功底还是不够,代码的速度慢,有的题目还是没有思路。于是我和 nauhcud暑假都没有回家,留在学校每天早上8点起床到晚上熄灯一直都在做题,我们两个每天都计划今天作的题目,然后不会的互相讲解,那段时间进步很 快,训练的也比较系统,我按照bbs上的POJ题目分类,每种类型的题目集中训练几天,效果很好。

开学 了,为了备战新赛季的各大赛区,我觉得我们再这样下去各自为战,不利于将来组队配合和比赛,于是我和nauhcud特地找到软件学院的院长,申请了一个机 房供我们组队训练。于是从开学到十一的一个月时间里面,我们就泡在科学馆301那间机房里面,做着各种各样的热身比赛。一方面配合上更默契一些, 另一方面也积累一点比赛的经验。开始的几次我们成绩还算不错,经常在比赛中能做到4-5题,后来可能是比赛迫近,压力比较大,心里总是急躁,总是犯一些莫 名的错误,总是想全面的提升自己的实力,可是却适得其反(这也许就是传说中的平台期,突破了这一时期,我们可能也就是大牛了,可惜一直到最后挂掉我们都还 在平台上……)眼看着原来和自己实力相差不多的队伍(比如HIT和JLU)实力一天比一天强,我们经常埋怨师兄师姐们给我们留下的东西太少(像ACM这种 讲究传统的比赛是不能断档的,如果有一两年没人搞,那么前人的辉煌就不复存在了,我们学校xiaomi和nasi他们之后就断掉了,一两年之内没有高水平 的队伍出现,本来很好的势头也就都没法发展下去了,到了我么这一届,只能从头再来)要是有一个师兄像其他学校那样带我们,我们何至于如此辛苦?!后来才知 道,自己原来什么也没有给学弟学妹们留下。

网络预 赛到了,我们表现的很不好。北京网络预赛成了网络畅通比赛,服务器被挤爆好长时间(大概一个小时)无法交题,大家都在不停地埋怨。我是个很容易受情绪和环 境影响的人,这种环境下真的无法专心比赛,后来只搞出了一道题。我的队友觉得一切都over了,我却依然抱有一丝幻想,机房里面空空的大家都走了,还有几 分钟的时候他们就放弃了,屋子里面黑洞洞的,只剩我坐在电脑前面不停地刷着F题和H题,刷呀刷, 刷呀刷,可是怎么刷也交不上去....当19:00到来的那一刻到来的时候,我坐在电脑前,呆呆的望着屏幕上的"Ended",心里好难受......

  后来在上海赛区网络预赛的情况稍微好了一些虽然也出现了无法交题的状况,但是上海那边反映很迅速,半小时内就做了一个应急的补救网页,每隔十秒 钟手动更新一下过题数目和判题的结果。我们比的状况也稍微好了一些,但是明显没有练习时候的状态,最后我和newton的题AC了,除此之外再无斩获,开 始我们觉得没有什么希望出现了,后来没想到排到了60,这便有了一个出现名额。再后来经过我们自己举行的选拔赛,我和newton以及willmate以 主力出战,nauhcud作替补。正当我们踌躇满志的拿着上海赛区的邀请函去学校的教务处申请参赛经费的时候,我们却遭到了当头一棒:学校教务处新换了个 领导,居然说不知道有个ACM(还说ACM是什么民间组织的比赛真是让人可发一笑)拒绝给我们经费。当时我们欲哭无泪啊,就这样眼睁睁的看着自己两年来的 努力化为泡影,于是心灰意冷决定从此放弃ACM。

(二)爱后余生

   就这样我们错过了06的参赛机会.我当时觉得打击很大,真的,就这样眼睁睁的看着自己两年的时光换来了一张空白的还没有填写的参赛报名表,觉 得很委屈,甚至觉得自己浪费了两年时间,逃了那么多课去训练,搞砸了好多的期末考试,甚至有一学期连奖学金都没有拿到,最后什么都没有得到,我在怀疑,我 的选择是否值得.因为我也可以选择平淡的生活,像好多听话的乖孩子一样,不逃课,没事拎包上上自习,做做老师留得作业,最后得个漂亮的GPA,或是出国或 是保送去北大清华(当时还不知道自己的可怜GPA居然也能保送),也许...

  于是我想尝试过正常的生活,戒掉ACM/ICPC,浏览器的首页也从acm@poj改成了blank,开始忙碌于董大妈讲的数据结构和珍珍姐的编译原理,有一段时间也忙忙碌碌的,还不觉得空虚,结果也不坏,数据结构最后一页卷纸我没看到白白扔掉12p的不利形式下还搞了93p,也算另外一种肯定吧.

  考完试,就开始没有事情做了,剩下的时间洗洗衣服,扫扫屋子,上上自习,我觉得真的好无聊,每每想念起那段日子--在机房训练的日子--每天早 早到,一坐就是一上午,中午也不回寝室,下楼买一袋包子回来一边coding一边吃,虽然很艰苦,虽然很累,但是ACM/ICPC却是我上大学之后唯一真 真正正喜欢的东西,可以从早上睁眼到晚上熄灯都坐在电脑前面研究,甚至和杜川他们吃饭的时候都没有别的话题.虽然我们很弱,在北大OJ上比赛经常被虐,但 是就算被虐一万次也心甘情愿!如果当年我没有认识ACM,现在我有可能木讷的搞了个专业第一什么的当当,或者热衷于各种社团活动变得处事圆润能说会道,也 有可能挂掉n多科坐在网吧打魔兽世界...我不敢想像那会是怎样一种生活,怎样的大学时光...

  我开始不停的想念POJ,有一天终于忍不住在地址栏里面输入了acm.pku.edu.cn,把论坛的个性签名首先改成了"偶尔来看看",打开 我自己的账号,又看了看队友的账号,发现虽然在这段时间大家都没怎么做题,但是last login time显示,每个人最近都曾经回来看过......原来我们已经被体制化了,规律化了.ACM对于我们来说已经不再是简简单单的比赛,而是一种生活方 式.这样生活了两年之后的我们,就过着这样的爱后余生......

  我将个性签名改成了--"原来ACMer都是怀旧的孩子"

 

(三)--是开始也是结束

[写在前面:下面这篇其实是写在今年6月7日,那天我刚从哈尔滨比赛回来,这次是我第一 次也是唯一的一次参加现场赛,本来我是一个已经退役的老家伙,幸运的是今年6月份在哈尔滨ACM举办了一个分区赛,学校不知道为什么大发善心(可能是因为 有我们学校的老师作裁判觉得比较正式吧). 我和两个比较熟悉的人一组,杜川--两年的队友,伟博--虽然才搞了不长时间但是凭着他深厚的代码功底很快便能独当一面,而我这个已经半年没有做题的菜 鸟,现在回想起来,比赛的时候只剩下给他俩拖后腿了,检讨一下...Whatever,感谢伟博和杜川替我抗着coding的任务,感谢在哈尔滨时候福子 和耗子对我的款待,祝他俩考研顺利~~]

  其实也没有那么多无奈,只是觉得每当一件事情开始或者结束的时候总要发一些小的感慨来恭喜,抑或哀悼一下.而对于我,这第一次也竟是最后一次......

  失败原因简单得很,我们在比赛中执著于一道出错了的题目.其实这并不是理由,全场人大概都知道这题错了,为什么只有我们在那傻傻的问?为什么有的队仍旧可以1次Yes掉?这绝对是个人问题,没什么可抱怨的.

  我们失败的过程其实也很简单,比赛开始的时候我们按照计划好的伟博读ABC题,dc 读DEF,我读GHI题.前面三道题过得很顺利,dc手热得发烫,瞬间rush掉三个题,而且全部1Y.我们一下子就升到了第一,三颗漂亮的气球送了过 来,好多记者也围着我们拍照,风光无限啊^_^我抬头看了看 board,恰好看见刘老师冲我们竖起大拇指.我也高兴的冲他挥挥手.我把我正在看的H题给dc说了一遍,就是一个普普通通的knight move题广搜可解,他说这个sb题他肯定过,我说是啊,够sb的题,你去敲吧.我们都忘了,这时他已经连续1Y了3道题了,而且是在1小时之内,如果是 半年前的上海,我肯定会毫不犹豫的换他下来.可是这次来之前我发过誓,比赛的时候决不上去做题,因为状态不行.所以我依然在下面找寻I题的答案.一个多小 时过去了,dc满头大汉的说这题他卡住了.我这才意识到,时间只剩两个小时了.我说别急,把代码打印出来我们一起下来调,让伟博上去写B.dc说好,说自 己现在脑袋乱的很,必须下了.

  打印出来的代码首先到了我的手里.我说别急,我先看看以免你影响我的思路.dc说好.我上去看了3行半,有个数 组q[MAX+MAX],按照我和dc配合多年的经验来说,他起得这个名字应是广搜的优先队列,往下跳着看,果然有个tail有个head没错.可是为什 么是"MAX+MAX"呢?我和他说了,他说哦,应该是"MAX*MAX",但是他说错误应该不是这里,你先圈上点省的忘了吧.我就用蓝色的油性笔在上面 画了一个圈.后来证明dc是对的,错误在后面一个打印路径的循环上,dc一边骂着自己是sb一边上去改题,我对于他的代码很放心的,这么简单的题肯定不会 错,果然,他过了sample的数据和我出的4组测试数据(自认为很BT的^_^).这时候伟博已经迅速的切掉了B,我心里多少稳定了一些.

  这时看看board已经有5题的队伍了(后来的冠军小罗他们),不过时间很长,我算了算如果这题1Y应该比他们快上将近40分钟,于是兴奋地催促dc赶紧交这个题.过了就又第一了!可是我们竟然忘了那个加号还没改过来呢!!

  结果自然wrong了.dc说怎么可能,一定是有白痴的错误.我于是把所有可能犯的低级失误都和他说了一遍,都 没问题啊,于是我们开始怀疑是不是测试数据中有sample那样的错误数据啊,于是我们连续发问十八次,那个裁判竟然说sample没错,这样倒数第二小 时就是在我不停的发问中度过的......直到裁判送来一句迟到的"Sorry,the sample is wrong"我们才松口气,dc说如果rejudge应该就AC了.我也深信这一点,深信到连那个加号都不用改的地步......

  剩下的一个小时很是慌张了,由于前面的失误导致大量的宝贵时间的浪费,我觉得我已经没有思维的能力了.心里乱乱 的.但是我还是想了一个很简单的算法搞E题,赛后证明大体上是对的,但是不需要递归构造匹配字串.交上去是WA.此时比赛还剩10min.我们就放弃 了,dc说再交一次H吧,交了,等待,结束.

  接下来的时间我们就愣愣的度过了,因为rejudge之后还是WA.再后来是在礼堂中等待比赛结果的时候dc哭丧着脸找到我说WA是因为最开始发下的数组加号的错误没改......

  ......

     原来胜负真的就在毫厘之间,就和三年前的高考一样......

  ......

  忽然想到,今天是高考吧?!

 (4)后记

  前面从个人感受的角度说了很多,这最后一篇还是说点我们大家都想说的话吧!

  我们学校搞ACM/ICPC的历史其实不短了,说起来pladene老大开始搞的时候,pku基本上也是刚刚起步的,但是pku就是pku,学 生的底子比我们要好得多,发展到现在pku算是群众基础很好的学校,CS系的Data structure & algorithmas 上机作业都是在OJ上留的,这给pku的ACM/ICPC提供了一个很广泛的受体,在学生中的普及程度自然提高了.反观同时起步的我们,虽然也曾经经历过 pladene,xiaomi,nasi,sothink时代的辉煌,但是战绩并不理想导致从此之后失去了学校的支持,也再无像nasi那样的竞赛保送 生,所以也就断了传统.ACM/ICPC是个很讲传统的比赛,典型的例子就是stju,他们每年都搞到好多南方的NB中学的OIer,实力本就不俗,再加 上stju搞了个ACM班,为选手们提供各种政策和财力上的支持(比如ACM班保研优先,机房实验室开放,提供专职教练等等),他们两夺世界冠军的傲人成 绩证明了一切.再想想我们,本来就没有传统,学校又不给支持,总是从功利的角度出发,本着"不取得成绩就不让参赛"的原则,可是ACM/ICPC不是数学 建模,靠临时拼凑几只队伍运气好的话就能拿到名次的,我们需要的是连续性,是传统.但就现在的状况来说我们没有传统,如果学校不给我们支持,那将要由谁来 建立起这一传统呢??引用pladene老大的一句话:东北大学的ACM/ICPC事业需要几代人用心去灌溉。

  对于我们来说我们也没有那么多遗憾,更多的,是无奈.这就是ACM弱校的现实状况,不只是我们,但是NEU确实尤甚!我不知道ACM@NEU的将来会走向何方,不知道能为后来者留下点什么,不过我可以很认真的告诉大家:对于CS的学生来说,可以分为两种人,参加过ACM的和没参加过ACM的,也许当刚上大一的你们经过活动中心,看到ACM招新的宣传画的时候会这样说

  "ACM?什么东西啊?"

  "不知道.去看看不?也许,会很有意思呢~......"

  是的,经历过ACM的人都是幸福的^_^不信?,来试试吧~.然后你就会想当初的我一样深深爱上它,再然后,你也会在退役的时候和我一样感觉如此幸福,因为

  I love this game!


|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.