【总结】ACM比赛生涯总结

程序设计竞赛相关奖项总结

时间 比赛 奖励
大一下学期
2017.5 西安交通大学ACM校赛 铜奖
大二下学期
2018.5 蓝桥杯C++国赛A组 三等奖
2018.5 ICPC全国邀请赛-西安站 铜奖
2018.6 ICPC全国邀请赛-宁夏站 银奖
大三上学期
2018.10 ICPC亚洲区域赛-沈阳站 银奖(银二)
2018.10 CCPC区域赛-桂林站 银奖
2018.11 ICPC亚洲区域赛-北京站 银奖
2018.12 ICPC亚洲区决赛(EC-Final) 铜奖
大三下学期
2018.5 蓝桥杯C++国赛A组 二等奖
2019.5 ICPC全国邀请赛-西安站 金奖
2019.6 ACM陕西省赛 金奖(殿军)
大四上学期
2019.10 CCPC区域赛-厦门站 银奖(银三)
2019.11 ICPC亚洲区域赛-沈阳站 银奖(银三)
2019.11 ICPC亚洲区域赛-上海站 金奖

比赛经历

写得很长,不想看的可以先跳过,下面有#我的建议

1. 大一下

当时在大学里感觉有些迷茫,不知道该把重心投入到哪里,于是各种事务都尝试着参加一下:学生会、社团活动、PS/PR、数学建模,各种各样的活动都有参加。

直到某一天随手报名了ACM校赛,加了交流群,还因为昵称的原因(当时叫"B-Tree")被乱膜了一会,感觉这群有点东西。

后来群友交流训练方法,发出了洛谷训练场的链接,点进去感觉很有意思,但也没仔细看。

校赛那天,睡过了热身赛时间,正赛对着简单的C语言题目写了好长时间才写出来。还记得有一道题目一交就返回TLE,我认为是数组开大了,于是把数组开小,然后返回结果是RE,就一直改数组范围一直交,下场问同学发现是我做法太慢了TAT。

当时公告栏上有一句话“由于OJ原因,CE算入罚时。”我看着一脸懵逼,OJ是什么,CE又是什么。

总之浑浑噩噩的参加完了校赛,只获得了铜奖。但是感觉这个叫ACM的比赛好有意思,就去洛谷训练场刷题,做了好长时间终于把新手村通关了,还发了朋友圈庆祝。
在这里插入图片描述
之后有一个西工大新生赛的机会,就报名去了,路上听大佬们交流,认识了核工程专业的凡比赛必穿正装的【寒域】。在西工大的实验楼下面避雨时,认识了同专业的滑稽头像的【唐神】。西工大的新生赛获得了第六名,虽然没有什么奖,但也挺激动的,而且让自己有了一些自信233。那场比赛的第一名是我们学校的【ddd】,虽然也是大一,但是当时主席听说他也要去的时候,就认为第一名已经定了,好强。

在图书馆借了一些算法方面的书,但是有些看不进去,群友推荐了刘汝佳的算法竞赛入门经典,果断入手,买了紫书和蓝书。
在这里插入图片描述
跟着紫书刷题,大约把第三章刷完的时候,小学期就开始了。

2. 大一小学期

西安交通大学的小学期是4周的课程,大一有两周是英语,两周是其它课程。这个其它课程可以选报ACM课。由于协调失败,我的英语课和ACM课都堆在了前两周,当时还高兴可以提前两周放假,但是后来就后悔了。

当时每天9点到16点上英语课,16点到19点是ACM课,而ACM课会布置6道题目,需要很多时间才能做完。因为平常的做题时间很少,加上第一个周末没有学习而是在玩耍,导致学到最后,越来越跟不上。

第二周周末有ACM考试,考场上有5道暴力题和3道不暴力题,我只要能做出5道暴力题就可以拿到满分进入校队,而且我快速地做出了前四道题目,但是很遗憾,第五道的暴力无论怎么修改都是TLE。(这道题目是求直方图的最大矩形面积,数据范围5000,在我后来学会单调栈可以 O ( n ) O(n) 通过的时候,仍然对这题咬牙切齿。)

考试结束,【寒域爷】和【唐神】也没有拿到理想的成绩,我们一起吃饭,商量再战一年。

后来主席决定进行二次选拔,做一套题然后写题解,根据题解质量额外选拔三个人进入校队。当时已经是暑假,我在家里过了三周后,决定去学校做题。当时【寒域爷】还邀请我去他的社团办公室一起做。但是后来,因为拖延症和颓废,我没有好好做题,失去了进入校队的机会。寒域爷进入校队,我和唐神再战一年。

一个很神奇的事情是,5月份的时候报名了7月份的夏令营,由艾庆兴老师主办。虽然没有进队,但是还是去了(因为交了报名费)。当时和寒域爷住一间房,感觉他非常优秀orz,几乎每天都拿到第一名。虽然自己当时不是现役选手,但是还是认识了不少优秀的选手,比如刚进入校队的【lhz】同学。

暑假就这么过去了,夏令营结束之后寒域爷、lhz去校队集训,我这样的咸鱼也没有回家,在学校颓废与社团工作。因为当时主席说只要cf达到1900就可以特招进队,于是后来几乎每场cf我都会去打,虽然上分很慢。

3. 大二上

大二上的日子就在刷紫书题、打cf中度过,非常羡慕校队选手能集体训练,以及出去参加各种比赛。当时,因为cf上分越来越难,感觉距离1900遥不可及,距离校队也遥不可及,自己越来越颓废,甚至差点失去了目标和信心。

学期快结束的时候,参加了长安大学举办的新生赛(大二居然也让去qwq),拿到了第一名,并且认识了zzy、jwp等大一选手。还报名参加了蓝桥杯比赛,获得了全省第一名(ACM选手基本不去),又稍微挽回了一些信心。

学期末,举办了第一次校选,结果只过了一道题,中途还因为打表把电脑打死机。寒假回家之后很难受,出去玩也老是想着这个事情,感觉一直自诩为ACM选手,却连校队都进不了。

与此同时,同级的【ddd】和队友代表学校第一次打进了世界总决赛,让我更加羡慕,也更加感觉到了自己的菜。

4. 大二下

事情的转机基本发生在这个学期。当时不顾家里的反对,脱离宿舍,出去租了房,买了自行车,感觉自己的心情逐渐变好。正好马上要举办第二次校选,这个时候老主席【lzy】已经从我校退役,【ddd】成为了新任主席(这个时候一般也叫队长)。我学了不少时间的线段树,更新了我的模板,然后去校选。

校选的时候非常的顺利,前期一度达到第一名。但是后面有一道使用线段树的题目一直过不去,调了好长时间,心态爆炸。不过由于前期优势很大,还是名列第二名(第一名是同样小学期失利的【淼神】。

最终,取两次校选的最好成绩,我成功进队,同时进队的还有淼神、zzy、jwp,以及我未来的队友【zht】、【yj】。虽然已经有预料,但是正在自习的时候知道了这个消息,还是出去高兴地走了好几圈。我问唐神为什么没来,他说睡过了= =。

进入校队之后需要分队,我本来想和小学期关系不错的【寒域】、【lhz】一队,但是我忽略了他们已经有队伍的事实,导致也错过了和关系不错的【zzy】、【jwp】一队。最后,被两位同级的实验班大佬zht、yj收留。

过后不久就是CCCC,10人一队的比赛,为了不拖后腿,当时疯狂做往年题,让自己的基础扎实了不少,去了之后打的还挺优秀的。

正式认识我的队友是在CCCC的赛场上,当时的感觉是,yj长得很帅并且体育也很好,但是不太爱说话,zht看起来很正经,但实际上一点都不,很强但非常神奇的一个人。他们是舍友,yj还给我普及了zht的标准叫法:“大佬”。

我们队大约分了一下工,我主要负责dp方面,就开始学dp,做了不少题,主要是做背包,感觉有一些提升,虽然现在对dp还是感觉很有问题。

经过了一些常规训练之后,就去参加每年5月份的全国邀请赛陕西站,还记得A题是个假题,但是我们死扣了好长时间,最后拿铜。当时在外住宿,我和【mzj】住在一间,当时mzj和我说“现在交大现状是:二队听不懂一队在说什么,后面的队听不懂二队在说什么”,当时他们队是二队,这话我深以为然,水平差距很大。

ddd的队伍从总决赛回来之后,就开始筹办新一年的校赛,我也非常想参加,但是正好和蓝桥杯的国赛冲突,就没有去成。蓝桥杯的国赛打的挺糟糕的,不过是我第一次公费去外地,略微值得纪念。

六月份,我们意外有了去银川邀请赛的机会,就去了,可能是因为亚洲区主席也去的原因,招待非常好,还邀请大家去沙湖玩,滑沙、骑骆驼各种各样的活动,让我一度对宁夏充满好感。听说去的队伍都不强,导致我们比较膨胀,竟然也把目标设置成了拿金,最后遗憾拿银qwq。

当时在一程出租车上写下的队名Chaos:
当时在一程出租车上写下的队名

这一次比赛有个花絮,lhz和寒域爷的另一个队友临时退役,他俩双人竞赛,一人想做法一人写题,最后还拿了金,真的很强。

(注:这段时间非常感谢我当时的女朋友,没有她的支持我可能没办法做到这些)

5. 大二小学期

大二小学期两个队友都出国交流,我在学校,就去当acm课dp部分的讲师。当时慌的一批,李主席在群里说把下面的人都当成木棒就行,然后感觉就好一点了hhh。

唐神决定一雪前耻,和他的同班同学cty一起来参加小学期,cty高中时接触过oi,他人狠话不多,擅长用记事本写代码,学习能力很强。他们两个人在小学期几乎每天霸榜,人称“软件双雄”。

大二小学期也就没什么好说的,软件双雄和一些新队员成功进队,一些老队员退役。

当时我的cf已经上了1900,基本上每场不落下。我在cf上发现一个和我同学校的id,叫wangzhikun,上分非常迅猛,但是我在学校里从来没有见过他。

6. 大三上

暑期集训早早就开始了,寒域爷去实习导致lhz没有队友,正好新进来两个少年班的天才弟弟,cyy和wzk(也就是上文说的cf大佬),就和lhz组了一队。

暑期集训的排名大约是:一队ddd,二队是csf和mzj他们队,三队是lhz他们,四队是我们,后面还有三支队伍。

暑期集训与网络赛结束之后,就到了选赛区。我们做了不少分析(不知道有没有什么用),选择了icpc沈阳、ccpc桂林和icpc北京。

最开始的预期是区域赛拿到银,但是去了沈阳之后,第一场就拿到了银牌第二名,差20分钟罚时就能拿金,顿时感觉非常的遗憾,银牌都不想庆祝了。当时的手记

到了桂林,还被志愿者采访,问我们的目标是什么,我们就说是拿金。不过最后也没有拿到金。

那段时间我校基本大失败,只有一队拿到了区域赛金(但是他们的目标是出线,不是拿金),剩下的队伍都是银铜,每个人心里都憋着一股劲。

当时我们队的集体训练比较少,大约一周一次,有些时候还会暂停,基本都是个人训练。而且我的个人训练方法出了问题,没有去学习新的算法,而是在疯狂的做紫书上的恶心模拟(虽然确实写代码稳了很多,但是有什么用呢)。

去北京的前夕,我坐在机房,对面是也去北京的csf,他拿着队伍手册向我指出哪些队伍他们打不过,一连划了二十多个,把我们队也划上了,并且说:“完了,我们必银首(迫真)”。mzj拉了一个群,叫做北京银首争霸赛,包括他们队,我们队,以及保研到南京大学、现在也来北京参赛的前任主席lzy。

过程不多提,我们对线模拟题被mzj打爆,打团字符串被csf血虐,最后他们获得了金牌第七名。我们排名三十开外,栗子保住了金尾。

我学到了这个方法。

后来的焦作站,一队成功出线并且捧回了季军奖杯。lhz队成功拿金,小哥哥们tql。

最后打了一场ec,当时略有心灰意冷,基本没怎么训练,最后拿铜结束,这是去年的感想.

大三上的日子基本就这样结束了,顺手参加了蓝桥杯,又是全省第一。

6. 大三下

  1. 邀请赛:队友基本退役,被我说服来打了一场,我们三个人发挥都很好, C h a o s Chaos 拿到了第一个金牌,和队友道别再会。当时的手记
  2. 天梯赛(C4):三位大佬去葡萄牙参加final,由我来组织去比赛,打的不如往年好,感觉分队可能有一些问题,但是也很难调整。
  3. 校赛:作为主要组织者之一,一天走了两万步2333。校赛的主题是csfnb,正好acm队拉到了赞助,我们和赞助商【金湖无量】一起写了题面,csf的人物+金湖创业的故事,我只出了一道大家基本都能愉悦通过的小水题。
    当时一个故事让我印象比较深刻,一位提前离场的同学A问我能不能提醒他的一位同学B记得切换语言,说B之前经常忘记切换语言,因为他在赛场上看到她一直WA,所以不惜自己退场来想让我帮忙提醒一下。我想了一会说不能单独提醒,但是能整体通告一下请大家注意语言选择。后来我们后台看了B提交的代码,没有选错语言而是因为其它原因WA掉了,就没有通告了。
  4. 蓝桥杯国赛:又去北京,完整的知道一道题目的做法,但是因为没有模板而写不出来,其它题目可能还犯了不少错误,最后拿到国二,遗憾。
  5. 省赛:一直在为找队友的事情而发愁,这个时候csf已经退役,mzj还想再打一年,我就和mzj以及校赛冠军liaoy组一队去参加省赛,获得了殿军的好成绩,差一些罚时可以拿到季军杯。

上半年的事情大致就这些,三月份的时候某nb学长向我推荐了一个网上兼职noip讲课平台,薪酬非常良心,终于能够不依靠家里,自己付房租、学费、生活费,日常开销也慢慢大手大脚了起来qwq。

另外,4月30号的时候,cf终于打上了2100分,成为了黄名(master)。

7. 大三小学期

这个时候ddd退役,队里最强的cyy成为了新任队长(主席)。今年的小学期分为了两期:一二周一期,三四周一期,终于可以避免像我大一那样没时间做题的悲剧了。

我在小学期负责第一期第一天(通项)的讲课、以及第五天(DP)的讲课,小学期踊跃出了很多人才,大家都非常的强力。(辛苦lhz姐姐)

因为mzj说他下半年实习,训练的时间非常少,而且他拿过金了但是我没有,我只好放弃非常强力的mzj,另寻队友。最后我和软件双雄(唐神,cty)一起组了一个队伍,俗称软件队。

暑假我们三个人都没有找实习,各自回家,但一有比赛就会线上语音一起做。

后来,cty因为要考研,而且也不太想训练,和我们商量后退出了队伍。我们持续了一段时间的两人队,最后找到了小学期进队的优秀学弟czq。

当时对czq的印象是高高瘦瘦的一个人,cf分数挺高的,上半年就上了紫名,和他说了我们队伍的优势劣势,czq认真思考了一段时间,决定加入我们。(后来证明我们捡到宝了

新队伍就这样组建起来了,队名随机了一波之后决定使用老梗“没有就空着吧”。

8. 大四上

“谁能想到,西安交通大学ACM队的队长,竟然还没有入学?”

这是当时暑期集训时我们的口头禅,因为校队里有6个同学(包括cyy)是少年班进来的,他们此时理论上是新入学的大一(去年是预科二),还需要完成军训,就不能参加暑期集训。

我从gym和往年区域赛拉来一些题(有的题不是很好),和大家一块训练,今年的新队员们感觉都挺厉害的。

网络赛结束之后选赛区,因为我带着noip家教不想赛前频繁请假,以及我们认为沈阳赛区好上分(?),最后就选择了ccpc厦门,icpc沈阳,icpc上海。

ccpc厦门,我们一直错误理解了一道题目的题意,虽然最后czq爷更正了我的想法,但是还是差一点罚时,和金牌失之交臂,拿到银三czq的游记。这一场下来,暴露了我们训练量不足、前期题不能很快做完的问题,而且相互讨论也有一些问题。

在厦门之前,由于时间原因,我们的训练量是每周一次。厦门之后增大了训练量,每周三次保底,如果有一人短时间冲突的,剩下两人就去训练,另一人抽空去。

这段时间的训练确实起到了很好的作用,我们的前期题目变得又快又稳,后期题目也能做越来越多。

这里说一下我们三个人的实际分工,我主要负责各种前期题目、dp、以及字符串题目;唐神负责数据结构、一部分图论、数学以及计数题;czq是树上大师,而且数据结构、图论等各种方面也非常强力。

在沈阳,我们前期大优,但是被一道假题、一道卡常题、一道几何题(圆反演)卡死。在最后半个小时,我们互相交流,他俩帮我假出了假题,我卡过了卡常题,至于几何没有卡过去,又一场遗憾银三czq的游记我的游记。这一场我们暴露的问题是,团队交流还有欠缺,以及几何水平差(事实上,几何本来是我的锅,但是一直没有好好训练,把时间都投给了字符串,结果碰到假题,而且不会高端做法)。

最后一周,照常周内训练了两次。到了上海之后感觉已经没什么好担心的了,大不了再来一个银三。前期同样大优,然后用两个半小时怼了一道数据结构,金了,就这样。我的游记。要说这场暴露了什么问题,大约就是没有拿金经验,确定拿金之后就松懈失去动力吧,不然说不定可以再出一题。

另外,一个花絮就是,开场前我们效仿csf他们去年的行为,划了好几十个打不过的队伍,并且交流群改成了上海银首争霸赛,23333。

比较遗憾的事情是,10月开始我基本每天晚上都会额外做一些字符串的题目,但是厦门的字符串需要01分规,是我的知识盲区;沈阳的字符串是假题,真做法我恰好没学会;上海的字符串倒是做出来了,只不过是大签到题,不过也算完成了【区域赛通过字符串】这个成就。

我们队伍后来确定了正经队名:落叶,原因是唐神的id一直叫【红黑树的落叶】,我们就跟风把自己的群名片改成了【点分树的落叶】,【回文树的落叶】,不出意外的话会在ec使用这个队名。

9. 最后

之后肯定还会更新,因为还有ec,以及说不定明年上半年还会参赛。

但是因为我要考研,ec可能拿不了什么好的成绩了。但考研准备时间太少,说不定什么时候就放弃,好好准备ec。

今天考研心态爆炸,发一篇总结文,略微总结一下我的ACM之路,果真配的上大群的群名“果然有问题”。

我的建议

  1. 第一是要认识到这是三个人的游戏,队伍配合是无比重要的。如果对你的队友不满意,尽量好好协调,实在不行就趁早换队友。糟糕的配合是无法获得好成绩的。
  2. 第二是要训练,这是一个竞赛,逆水行舟不进则退,不训练的队伍再强也会被训练的队伍赶超。
  3. 上面两点是核心观点,下面说一下方法论:
    1. 尽早分好职责范围,如果队伍还不是很强,可以三个人分为不同的类型,然后分别学习。如果队伍已经比较强了,可以考虑职责范围适当重叠,方便讨论。
    2. 但要注意,职责范围没有必要是一成不变的,如果你感觉你做某种题实在难受而队友A比较轻松,可以和A商量交换职责范围,反之同理。
    3. 建议把知识通学一遍,至少把模板都打过一遍,再去有目的性的刷题,刷题的时候多做经典题。(这一点其实我没有做好,很多知识都没学)。
    4. 训练赛非常非常重要,如果同时可以选个人刷题/团队训练,尽量选团队训练。
    5. 训练赛要正规,比如我们后期的训练赛都是严格单机、手打模板,甚至还专门买了一个不好用的键盘。总之,训练赛越贴近正式赛,训练效果就越好。
    6. 从训练赛里总结问题,训练完一定要补题。
    7. 刷题可以是巩固某个知识点的方法,比如你感觉训练赛里很多贪心做不出来,就可以去codeforces的problemset里,选择标签greedy,然后疯狂的做,绝对有效。
    8. 对于训练赛发现的、正赛里可能出现的问题,一定要提前做好准备。不要有侥幸心理。
  4. 上面是提升实力的方法,再说一下比赛时具体的方法:
    1. 前期的罚时不如后期重要。 即,假设你写完一个题感觉提交之后有50%的概率可以通过,还可以选择花5分钟的时间上机生成数据将这个概率提高到80%。如果在前期,选择交,如果在后期,选择调。因为前期的机时很宝贵,占5分钟的时间会导致后面若干道题目的时间全部增加。在后期,千万不要感觉大家时间数字很大就乱交,有的时候金银就差那几十分钟(血的教训)。
    2. 前期要稳。这一条和前面一条并不矛盾,有的时候随手测几组边界数据一点时间都不花,但能省下很多罚时。而且前期稳健对于后期的信心增强是巨大的。
    3. 特定的题目交给特定的人,比如一些恶心的字符串处理题目,大家都能写出来,但是能熟练使用 < s t r i n g > <string> 库的人绝对写的更快。高级题目同理。
    4. 场上心态要好。比如说,别太自责。一个签到题你WA了两发才过,队友会希望看到你一直道歉吗?队友更想看到你1A另外两道题。分锅什么的,放到场下也来得及。
    5. 多和队友开诚布公的交流。比如说,你感觉队友这道题目可能会出现问题,或者写的不如你快,充分考虑后可以及时和队友说,不要怕伤面子之类的。如果WA了之后再去说,更伤人。
    6. 学会合作,比如写一道题写的想不清楚了,可以请求队友的帮助,一起看代码或者小黄鸭之类的,要学会合作。这一点我们后期的训练赛和正赛做的很好,而且起了很大作用。
    7. 信任队友,场上的三个人是一个整体,既然选择了这道题让ta去写,就毫无保留的信任ta。如果错了,参照第4条。

我是LittleFall,考完研之后,cf见。
在这里插入图片描述


没看够的话:nb学长csf学长的总结

发布了375 篇原创文章 · 获赞 305 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/m0_37809890/article/details/103298990