又一篇ACM追忆文

归去

我大概总是喜欢在一个静谧的深夜回想或近或远的曾经,这个时候,人还不至于入睡,却总是没有什么事情好做,如同鸡肋般食之无味,弃之可惜。于是,这个时间总是显得过于焦躁,我希望手中可以有一件事情,可以无比冗长得持续,在每个无所适从的深夜让我安定平和,不至于躁动中去寻找奇怪的东西来平复心灵。我或许会偶尔写文,来放纵一下日渐枯竭的脑海。只是这另一个位面的世界的进境却如此缓慢,也不知道拔剑起长歌这一幕何时会出现。于是,追忆却总是显得轻松随性,信手拈来一般。只是,长久得陷入回忆其实远不能得到什么,无非是将悲痛或者欢笑烙印得更为深刻而已。当然,这些都不能阻止这篇文章的出现。

说起来,似乎过了很久的样子,许多细节都已经模糊一片。比如有一种算法,乍一看有很多比较大小的条件、其实就是一个最短路,问了之后我才想起来,这个叫差分约束,虽然这个名字也足够生僻。比如,我已经几乎不记得最大流和二分图的细节,也再也找不到为“匹配”探根溯源的那些表格。不过,总有许多事情历久弥新,时间久了,这些越发清晰的往事就被称作回忆。

记得有次班会,班长让我们做以后的打算。上来一位同学,说喜欢编程的同学可以跟他一起去ACM Club去锻炼一下。这就是Boycott了。那个时候是大二刚开始,九月还是十月的天气已经颇为凉爽,在采矿馆的一间教室里,窗外绿荫满地。

然后时间就过得飞快了,在Boycott同学的指导下,在USACO做了一段时间的题,转眼已经要开始校内赛了。与DS和Zealot1024两位同学一起去参加,不过这次比赛只是个个人赛。其实DS在之前是有一点点的基础的,各种机缘巧合吧,他对编程在高中时有一点点的涉猎,我猜测应该是在VB初步的水平。但是对于小白的我来说,这也是不小差距。Zealot其实和我差不多,几乎零基础,在校内赛开始前的一段时间突击了一阵。校内赛的时候应该是在11月,比赛我猜应该是挺简单的,当时对算法完全不懂,所以只是A了两个很水的考数学和逻辑的题,而且细节完全不记得了。记得当时有个很厉害的人一直在A题,气球一直在往上挂。

校内赛后,开始有培训,有小比赛,这段时间其实不算短,只是却印象不深,只记得有许多大牛过来讲过课,然后在POJ上做了不上水题,A水题总是很欢乐的。我记得比较清晰的是一种心态,当时我就想,对于一个完全没有基础的小白,什么才是他能达到的极限?现在想来那个时候的我还是比较沉稳的,安心做题,安心学习,仰慕各种大牛,为每一个细小的进步欣喜莫名。于是,辽宁省赛如期而至,老大(C4pt0r)来组织,虽然漏洞不少,但是最后还是圆满结束。这是我第一次参加正式比赛,我和DS、Zealot1024一起组队。这只队伍一直坚持到了最后,其实有一个队的三名队员都来自同一个班并且都一直坚持了下来的真的很少很少。第一次参赛,拿到三等,我在那个时候才知道,因为这个比赛的准备和训练的艰难程度,来参赛的人有1/2都可以得奖,但是即便如此,比赛也显得很惨烈。其实拿了三等,我也不好说这是不是实力的问题,因为第二年我们又拿了一个三等,当然这是后话了。不过至少对于我来说,这是一个可以接受甚至是有些惊喜的答案。各种大牛在我的印象中都是飘渺如烟的存在,不知何时能望其项背,所以,那个时候我就在想,我并不奢求什么,到达如此地步已经是一种庆幸了。

之后又过了一两个月的样子,6月份天气已经略有夏天的感觉了。到大连的时候,这夏天却显得一下子明晰起来,空气中弥漫着粘稠的水汽。大工的学校似乎是建在山上或者丘陵地带,学校里边曲径环绕,上上下下,古藤松柏,似乎也颇有乐趣。这就是四省赛了,东北四省赛,黑吉辽蒙,应该算是一个还算有水平的比赛。虽然像吉大这种牛校会完全无视四省赛,其他牛校会拿四省赛来给新人锻炼。四省赛的时候印象中是有人工判题的,有一道题Zealot1024一直在敲,一直PE。PE其实距离AC已经很近了,无奈我们一直很悲剧得找了很久也没有找到问题,有个好心的评委过来给我们说,最后不要输出回车。最后拿了二等,是东大的第二名。我当时的感觉是庆幸和欣喜,距离省赛其实没有过多久,能有如此成绩,完全是出乎预料的。至于C4pt0r大牛来说,这次告别赛他们完全来打酱油了。不过王平说,东大是曾经包揽四省赛一二名的,这点成绩完全不够看的,因为东大第一名Boycott、Sybil、MoreFreeze也是二等。

从大连回来,马上就进入了期末阶段,于是度过了一个ACM的中断期。暑假来得也快,去得也快,整个暑假似乎都在想着ACM,却没有做多少和ACM有关的事情,良心过不去了就A几道水题,时间似乎就这样过去了。开学后的日子也充斥着各种思想的混乱和心中的不安定。完全没有办法静下心来去安安静静地做题,研究算法,当然这也和其中穿插了一次奇怪的数学建模有关。之后,亚洲区如当头棒喝一样不期而至。没想到,亚洲区哈尔滨赛区的名额居然有我们队一个,之后就是完全不在状态的训练和纯属突击的学习。可是,很遗憾的却又理所当然的是,这样的状态,完全hold不住亚洲区的难度,直接铁了回来。

另外,期间发生了许多奇妙的事情,就不详述了。

回到学校里,好像是参加了一个立项的东西,到大四还在纠结,最后不了了之了。然后跟着王娇做项目,陶俊杰大牛推荐过去的,某S似乎对王娇颇不以为然。不过这些都是题外话。

回到学校之后,情绪完全低落了。我情绪低落的时候容易集中精力做一些事情,或许我属于那种越挫越勇型?总之我没事就跑去图书馆的311机房去做题,不然就是在图书馆的2层找各种资料。期间,一直和Boycott同学一起去图书馆,那段时间我们在研究图论的问题,似乎研究了许多种图论算法,常用的和生僻的,一些经典图论的许多种解法。忽然想起有些书被各种同学从二楼拿到311了,这个时候是不用刷图书卡的,我曾经好心还了几本过去,不知道现在还有没有。现在似乎也不用311的机房了,看来这些也真的成为历史,湮没无痕了。还有一点,有些同学看我和Boycott整天出双入对,就说我们有JQ,那完全是在扯淡,话说前些天,Boycott的女朋友小白兔同学听闻我们居然是去311机房做题的之后,露出了一个不知是恍然大悟还是怅然若失的表情。

这段时间过得平静而安详,我甚至考证了一下和完全匹配相关的各种概念,并做了一张表,再想找,已经不知道去哪里了。大三下,新一年的省赛又迫在眉睫了。其实这次我这次还是信心满满的,毕竟四省赛的发挥让我有了一些信心,在加上亚洲区虽然铁了但是其实成绩还不是那么差。然后事情总是峰回路转,我们这次又拿了三等,而且是东大十多只队伍中最后一两名的样子。如果要说原因的话,我们应该是被一道水题坑了,有一个题期间改了一回数据,有一种情况本来是不会有的,不过我们前几次提交的代码中是加了这个条件的,在QA上问了是不是有这个情况,被告知不会发生,然后我们把改条件去掉重新尝试,却一直都没有成功。我们反复阅读题设,不断尝试,直到比赛结束,这个题其实是场上为数不多的有人没过的题。Boycott、Sybil、MoreFreeze的队伍和汪宇同学带了两个小孩的队伍果断超神了。事后,出了官方的题解、例程和数据,我发现这个题中有两个数据,一个就是加上条件的,一个是不加条件的,估计就在我们问了问题之后,他们又给加上条件,重新做了数据。总之,ACM还是要靠人品的。虽然这次基本算是一次小小的失利,而且发挥严重失常,我们基本也就算是要告别ACM了,我甚至都开始写退役感言了,因为这个成绩去参加接下来的四省赛基本无望。不过王平说即便是我们这种2B了的,也有机会,让我们继续训练,既然他都这么说了,我也就信他一次好了。接下来的时间其实也无事可表,我只是不断熟悉一些已经了解的知识,同时准备了一份模板。

四省赛终于如期而至,我们队也终于如约成行。我们换回了训练时的队名“马甲”,完全以一份轻松的心态来到哈尔滨,这里应该不是市区,在绕城高速以外,哈工大华德学院。比赛前去外边的澡堂洗了一把澡,泡澡和淋浴居然还是分开的,时间有限,我也只能看着水池,产生出一种望洋兴叹之感。默默洗了一发淋浴之后,才体会到夏天已经来临日久,这个漫长的夏天。四省赛结束之后,是颁奖典礼,或许是错觉,我记忆中,露天的场地在后来就慢慢下起了淅沥的小雨,最后天色渐暗的时候,才念到我们的名字,一等奖,第五名。这应该是有史以来我们队拿到的最好成绩,此刻华灯初上,记忆也在这里如同眼睛上的雨水一样,晕出大朵的光华,不再分明了。

再之后,我、DS还有Zealot1024果断退役了,我和Zealot1024找了家在杭州的公司实习,DS继续留在学校里跟着王娇做项目,一年很快就被消磨殆尽,转眼又是期末,只不过这次是毕业了。我去参加了学校的毕业典礼,大学终于像了一回样子。回去的路上遇到某S,求挽手拍照,也算是为这许多的时间做一个清婉的句点。

又是一个深夜,夏雷滚滚,此刻正好眠。