$\quad\quad$近日,在华为杯第47届 ICPC国际大学生程序设计竞赛(亚洲区)决赛中,我校的三支代表队在全国314支优秀队伍的激烈竞争中脱颖而出,经过5个小时的拼搏,最终获得**2块银奖,1块铜奖**的佳绩。

$\quad\quad$我校共派出三支代表队参赛,分别是温启涛、厉文浩、蒋润浩组成的“猫猫把妖怪抓走了”队,吴铮、王学远、陈增豪组成的“我真6,嘻嘻”队以及我校余知航、丁逸飞、郑依佳组成的“CodeGPT”队,指导老师是计算机科学与技术学院的韩建民教授。
,队员:厉文浩(左)、蒋润浩(右),银奖")
“猫猫把妖怪抓走了”:队长:温启涛(中),队员:厉文浩(左)、蒋润浩(右),银奖

“我真6,嘻嘻”:队长:吴铮(右),队员:王学远(左)、陈增豪(中),银奖

“CodeGPT”:队长:余知航(右),队员:郑依佳(左)、丁逸飞(中),铜奖
## 这是一项什么赛事?
$\quad\quad$ICPC国际大学生程序设计竞赛(International Collegiate Programming Contest)是由国际计算机学会(ACM: Association for Computing Machinery)主办的一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过30多年的发展,ICPC 国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛,也是大学级别最高的脑力竞赛。

比赛现场的展牌,浙江师范大学校徽位于第六行左五
$\quad\quad$ICPC竞赛形式为团队合作,每支队伍由三名队员组成,代表学校参赛。比赛期间,三名参赛队员需要在5个小时内使用C/C++、Java和Python中的任意一种计算机语言编写程序,解决13道赛题,正确答题数量最多且总用时最少的队伍获得优胜,时间短、题量大。三名队员需要共用一台电脑,因此除了扎实的专业水平外,良好的团队协作和心理素质同样是获胜的关键。

上海大学比赛场地外景
$\quad\quad$ICPC区域赛是我校的A类国家级竞赛,每赛季由五到六场区域赛组成,同一个队伍每年只能参加两场区域赛,每场区域赛会有来自全国各地的500-800支队伍参加比赛,而每场区域赛的前72名才有机会参加亚洲总决赛(EC-FINAL)。

大赛现场
## 奖牌是怎样炼成的?
$\quad\quad$3月23日晚,浙江师范大学代表队抵达决赛举办地上海。在第二天的热身赛中,选手表现其实并不理想。当天晚上,大家分析了最近的训练程度及竞赛状态,最终,决定临时通过codeforces的比赛进行加训,“争取在有限的两到三小时内找回最佳状态,充分做好真正的热身”。

赛后图片 厉文浩(左)蒋润浩(右)
$\quad\quad$3月25日,比赛正式开始。时间一分一秒地过去,在比赛进行到4分钟时,有对手抢先提交并通过了M题,之后,陆续又有很多队伍提交并通过,而直到21分钟时,我校代表队“CodeGPT”才提交并通过第一题,“猫猫把妖怪抓走了”和“我真6,嘻嘻”都以一发罚时的代价通过M题。据赛后回忆,王学远发现C题也是一道比较简单的题,所以想抢C题的最快解题奖,但是写代码过程中出现了一点小问题,于是先让队友通过M题,再继续写C题的代码。所幸,这样一个小插曲并没有影响整体比赛节奏。

三支代表队赛况
$\quad\quad$ACM赛制中,前四个小时排名实时更新,所有参赛选手都能看到队伍的排名,最后一个小时封榜,排名不再实时更新,所有提交结果只有本队选手能够看到,但是,可以看到的是我们的三支队伍都坚持交题到了最后一分钟!在这场比赛中,我们的三个队伍都展现出了顽强拼搏、永不言败的精神!
## 关于比赛,他们有话说
### “猫猫把妖怪抓走了”成员——温启涛(校ACM集训队队长)
$\quad\quad$今年这场EC Final算是我大学最后参加的一场ICPC赛事了,也是这四年里我参加过的为数不多的一次线下赛。大学四年的时间一晃都快结束了,着实让人还缓不过来,心里有万般感慨但找不到合适的语言来形容。
$\quad\quad$实际上在这次赛前我很担心自己在赛场上的发挥会变成什么样,一方面是近段时间因为个人的原因并没有过多加训,加上EC总决赛的参赛队伍都是各个赛站中名列前茅的强队,导致个人并不清楚现如今我们队的实力如何,另一方面是因为去年在西安举办的ECF赛场上因为本人理解错题意而导致最简单的一题硬是卡了一个多小时,心态和情绪被彻底影响导致之后几个小时的时间里完全不在状态,最后一块牌子也没摸到。这种种原因总让我心里没个底,加上参加比赛的前几天发了场高烧,打了吊针但状态还没恢复过来,让我真的有种不如“躺平”了的打算。

“猫猫把妖怪抓走了”队比赛实况
$\quad\quad$然后是赛时的情况。这次比赛刚开始时,不知为何,我感觉自己仿佛回到了去年ECF赛场上的那种状态,慌张到近乎读不进题目,且在第一次提交被判定为错误后这种感觉尤为强烈。但庆幸的是蒋爷(队友A)重新读了一遍我的代码并直接指出了错误点,第二次提交通过后我才缓了过来,并忽然感觉自己智商上线了,在他们两人讨论一道较难的动态规划题时,我在草稿纸上模拟了一道图论题并趁厉教(队友B)下机的间隙悄悄上去通过了这题。在动态规划题也通过之后,我们借助题数的优势暂时排名比较靠前,这无疑是十分振奋人心的!于是我们开始讨论通过人数最多的一道交互题,但三个人想了半天硬是挤不出一点想法来,无奈只能尝试多开去写别的题。之后我读了另外一道图论题,向蒋爷说明题意后讨论出了一种可能的解法,于是上机花了半个多小时,连着编写+优化后成功一遍通过,但这时我们对交互题还是没有任何想法。在比赛开始三个小时左右,我们做了个大胆的决定,放弃这道交互题,去找过题人数少的题目写。于是我选择了计算几何,顶着代码量大+玄学调精度的压力,只因为至少能在这道题上得出一种猜想并尝试去验证。庆幸的是我们赌对了,在这道计算几何通过后,我们队伍的题数跟大部分写出交互题的队伍持平了,并且罚时还不算太差。最后一个小时虽然又挑了道模拟题,但可惜三个人没有找到更为便捷的方法,最后遗憾止步于此。
$\quad\quad$就结果而言,很高兴最后能拿到一块银牌,也算是圆了我大学竞赛生涯的最后一个梦。过程虽然属实有点惊心动魄,但也很庆幸冒着风险做出的大胆尝试在最后收获到了成果。
$\quad\quad$最后希望今后我们集训队能在各赛季中都取得优异成绩吧!疫情结束了,ACM该有的一切都回来了,可惜19级也要走哩。

上台领奖 温启涛(右)王学远(左)
### “我真6,嘻嘻”成员——陈增豪(Scarlett_boy)
**[注:wxy977(王学远)/ illume(吴铮)]**
$\quad\quad$想到EC Final,第一件事情总会想起自己区域赛没有写出动态开点线段树,就差一点,没有拿到EC Final的名额(想想还是有点可惜的),最后靠着学长World Final的激励名额去了。
$\quad\quad$这也是我第一次出去参加线下赛,和我的老队友wxy977 & 学长illume 组成了“我真六,嘻嘻”(来自蒋润浩的游戏名称,很霸气,虽然有点尬,还是英文名好一点“We are six, lol”)。
$\quad\quad$我们提早一天到了上海大学,为接下来的比赛做好了准备。
$\quad\quad$Maybe 第一次参加线下赛,其实有点小激动,晚上都有点睡不着,不过第二天只是热身赛,所以也没什么影响。
$\quad\quad$第二天热身赛刚进赛场的时候还是挺震撼的,300+支队伍,将近1000+人一起坐在一个体育馆里。
$\quad\quad$虽说一开始linux系统用的不是很习惯,我和wxy977都是第一次来参加,还好有illume学长,他去年也参加了EC Final,用命令行创建文件夹也在热身赛学会啦。
$\quad\quad$秉承着热身赛打太好正式赛会G的原则,我们热身赛草草签个到后,就开始玩起来了,当然了,就是我坐在机子前测测时限,内存,栈空间,然后看着illume学长几乎和别的学校的每一群人都打招呼,只能说illume学长是集训队外交官。
$\quad\quad$打完热身赛,我们也回去休息了,等待第二天的正式比赛。当然了,我们晚上还训了一场小白月赛,找找敲代码的感觉。
$\quad\quad$第三天早上9:00开始开幕式,我们早早的就起床了,10:00正式赛就开始了。
$\quad\quad$9:55的时候,等待最后五分钟的时候,还是有一点小紧张的。

“我真6,嘻嘻”队比赛实况
$\quad\quad$10:00裁判员宣布比赛正式开始:
$\quad\quad$Illume和wxy977打开了试卷袋,我则是坐在机子前,开始敲起了我的头文件。两分钟后,wxy977告诉了我一道签到题“A+B进位恰好为k次的最小的B”,于是我和wxy977就呆在一遍讨论去了,5min左右就出了一个假贪心的策略,大概花了5min写完假贪心后,发现最后一个样例没有过,“出题人真善良!!!”,这才发现这题好像那么签到,同时illume也发现了真正的签到题。于是我们将机子让给了illume,我们去想数位dp解决。
$\quad\quad$在30分钟的时候,illume貌似有一点点紧张(偷偷说一声,学长好像比我紧张一点点),他敲完了,但是wa了,同时我们这里的dp也想的差不多了,于是我加入了illume的签到之旅中,小改了一点代码,在40min时,我们队成功通过了第一个题,但是因为第一发罚时,我们目前排名还是很后面的。数位dp 在wxy977的超清楚分类讨论下,我快速敲完了这个题目,然后稍微debug了一下,就交了,然后在62分钟的时候我们通过了这道题,这个时候,我们的排名就上去了挺多。
$\quad\quad$然后我们开了一个树上的题目,好像是在上wc的时候,就想到了做法,速速回来AC了。这个时候时间差不多时一个半小时,我们跟榜开了F题,这是我们这一场最卡的一道题目,是一道交互题,n的范围是2000,我们队一开始采用的是4nlog(n)算法,交互次数大概在80000的级别,但是题目要求在40000之内,我们一开始一直以为可以冲过去,但是一直wa,我们一开始还是以为我代码敲错了,但是看了好几遍,还是找不出来,最后认真一算,发现是次数算错了。但这个时候差不多2个小时30分钟了,我们的F题也wa了4发了,感觉再卡下去要G了,我们决定去看一下榜,发现猫猫过了另一个题,于是我们果断转战,发现是一个最短路+缩点的题目,大概花了30min调了一下就一发AC了。时间也到了3个多小时,我们又回到了F,但是我的脑子已经有点宕机了,需要休息一下,于是就交给了wxy977和illume,他们想到了对前缀边更新边存的优化,就可以把一个4优化成2,最后我们在使用map的一发 TLE 之后,改成了数组就过了。(我们队看着大屏幕等测评,等了将近1min,最后过了还是比较激动的。)

“我真6,嘻嘻”队通过F题时,现场录像
$\quad\quad$这个时候已经到3:50,最后还剩一个小时,我们开了一个L,分类讨论题目,我们写了400+行的代码,可惜光速wa了,也没有时间调代码了。赛后得知少了一个 3 x 7的情况的特判,这一场也就五题收尾了。
$\quad\quad$比赛结束后,听小道消息,我们可能只能拿到一个铜牌,因为封榜前我们也只是在银牌中后段。但因为已经尽了全力,发挥的也还算不错,所以我们仍然很开心。
$\quad\quad$25号下午一点,我们参加了闭幕典礼。在领奖前,志愿者去寻找铜牌队伍上去领奖的时候,发现我们居然没有被找,我们队都非常的激动,我们是银牌!!!*

ECF银牌获奖队伍
$\quad\quad$第一次出去线下赛,还是取得了比较好的成绩,金牌+银牌一共81人,但是EC Final去的区域赛金牌队伍就不少于100支,说明我们还是打败了不少金牌队的。
$\quad\quad$最后我抱着银牌一路坐车回来咯,还是很开心的。
$\quad\quad$最后也感谢集训队的学长World Final的激励名额让我有了这一次机会,同时感谢韩教练的指导和信任,还有集训队各位学长学姐的督促和教导,才让我有了这样的水平。
