这一年的acm路

  这些日子在纠结一个事情,我相信大多数人都有这样的困惑,就是acm和做项目之间的取舍。

  回到一年前的今天,唐鹏学长一个短信,要我去参见acm。是我便飞奔到寝室,向他询问有关acm的事情,他让我先在HDU 11版A题。我本想着会很简单,于是马上去做了第2000题,按照我自记的想法,好不容易和输入输出格式一样后,本想着这代码肯定是正确的,兴高采烈的交了代码,让我感到诧异的是居然弹出了个Wrong answer!我当时就郁闷了,想这等弱智的题目未必还会WA?一度以为是OJ出了问题,于是再交了一遍,结果还是WA。于是不服气的问了问唐鹏学长,他说:多组数据,EOF。当时还不知道EOF是何方神物,于是各种百度之,终于在几天后把OJ的评测方式给弄懂了。于是便马上修改那道题目,提交,当返回一个Accepted的结果时,那种成就感油然而生,难以言表。从此我便踏上了acm的道路。

  后来的几天,我沉侵在其中,一直在A题目,可谓对acm是一见钟情。但当时对算法根本不是很了解,而且有没有什么算法之类的书,只是一味的刷着水题,接触的基本都是二分,队列,栈之类的一些基础的东西。水题大概刷了150道的样子,就放寒假了。放寒假之前,彪哥给我们开了一次会,给我们介绍了acm的一些算法,然后然后给我们分了任务,我这组分的是搜索算法,当时听到“搜索“这次就觉得很高级的样子。回到家里,玩了几天后,就开始看lrj的白书了,当时觉得前面的讲得太基础了,就没怎么看了,然后就开始玩去了。中秋过完后,发现彪哥给分的任务还没开始呢。于是就开始翻到白书的搜索那章节开始恶补,当时可谓是看得各种心酸,压根不知道BFS是怎么实现的。在各种度娘和加上我绞尽脑汁之后,终于明白了BFS的精髓,于是在POJ上水一道BFS的入门题。紧接着我又学习了DFS,快排,枚举等一些基础的算法,如此开始了算法的学习历程。

  开学后,开始了各种专题训练,也让我对算法有了更广阔的了解,hash,计算几何,最短路,网络流,DP等。但对于这些的认识还是潜层次的。后来的校赛,我、zsc和cxb成为一组。没想到比赛各种顺风顺水,排名一直靠前,最后得了个一等奖,这也更加坚定了我搞acm的决心。然后,就有幸去参加了”安博牛耳杯“和”湘潭邀请赛“,当然结果是被各种虐,各种打击,连酱油奖都没得到。

  接下来的一次强化训练就是暑假的集训了,每天基本是8点-24点都在敲题的节奏,最让我不爽的是,每天8点半还要搞场训练赛,训练赛完后就到中午了,然后下午还要搞专题训练,好不容易熬到了晚上,结果还要搞一场加训,机房照明灯全部关掉,一片漆黑,全部盲打,各种惊心动魄。比完后,哪能睡得着,各种没有A掉的题目要继续A,然后才能安心入睡。其实想来暑期还是蛮好玩的,在机房里,A题A得不爽了,偷偷的看看中国好声音,打打游戏,貌似还被彪哥逮到几次呢。傍晚的时候,我、zsc、cxb和F没事在校园闲逛,看看球场上各种滑稽的动作,欢笑畅谈。让我记忆清晰的是,有一次一大早醒来,发现机房停电了,那个欢呼啊,停个电也这么高兴= =,结果全跑去网吧了,哈哈。就这样,时间过得很快,荏苒中,已经开学了。

  开学后有5场区预赛的网络预选赛,搞得非常的心疼,被虐得惨不忍睹,后来发现自己还是神马都不会啊,,,哭,,,%>_<%。然后紧接着就是省赛,我们队有幸出线,背着一大堆资料来到了HUT,HUT的新校区还是不错的,和我们学校同一个风格,只是校门霸气了许多。热身赛熟悉了下机器环境后就回到宾馆开始玩了,看了看电影,躺在床上玩玩手机就睡着了。第二天就是正式比赛了。题目发下来,我一眼就看到了一道水题,于是马上敲之1A。后来小宾又看到水题,和他商讨下trick之后1A。然后zsc看到一道字典树,说这题做过,于是给他敲。我就开始想那道数学题,发现那题简单,于是开敲,当时我还看了下,那题还没有一个人A掉,当时就有点警觉了,但还是敲了下去,但后来发现并不是那么简单,就果断放弃了,看其他题,和小宾商讨图论题,此时zsc已经A掉字典树。然后看了看排名,开始做那道模拟题,我看zsc敲了很久后在调试,然后看看题目,就说这不就是简单的模拟么,敲得怎么样了,他说再等等,我就说那我先看其他题。结果还没等我做下去,他就说你来敲吧,于是我就想都没想就下手了。中途,居然发现道模板题,于是果断A掉,此时四题全部1A,相当的顺。然后我接着模拟,由于敲前太突然了,没怎么想,再加上题目也没看,于是各种蛋疼,3WA后终于A掉,比赛结束。最后颁奖,省三,小打酱油而归。

  省赛后,事情就接踵而来了,首先是ACMore协会的招新(这里F是相当的给力啊,独挡一面),然后是一堆作业要补,以至于到现在已近两个星期没有A题了,其中学院还搞个卓越班,跟着老师做项目。做项目主要是知识面的广度,而acm是深度,这两者势必会和acm产生冲突。思考了下自己未来将要走的路,还是觉得现在搞acm较为合适。首先,算法可以说是内功,程序=数据结构+算法,这话一点不假。所以要想编出高效的代码,势必要有较强的算法功底。其次,或许自己会考研,这对我来说也是一大帮助,毕竟搞过acm的,那些数据结构和算法还是相当熟练地。然后,也搞了将近一年了,总不能半途而废吧。当然,最重要的是自己非常喜欢acm这一竞赛,非常的有趣,或许这就是ACMer一直坚持的动力吧!

  今天还看到一句话:ACM-ICPC绝不是大学生活的全部,也不是搞算法的全部,你大可以花时间去做其他研究,做项目,或者参加学生工作(我更欣赏那些对人生和职业有良好规划的ACMer);但是,如果你搞ICPC的那段时间你不是全部投入,那的在ACM-ICPC生涯中,将只有后悔。

原文地址:https://www.cnblogs.com/zhsl/p/2743562.html