ICPC 香港游记
yzh要求写个游记,那我就把总结一起写了吧。
正常开篇应该点题的是吧,那就简单进行个总分总,icpc赛季共参加正式赛两场
合肥站铜牌 rk209
香港站 rk69(打的还不错)
各种以非正式参赛的成绩就不说了。
我的两个队友yzh,锟锟,简单介绍一下。
yzh:cityu acm竞赛的负责人,擅长数论+复杂数据结构的构思+dp
锟锟:我们队伍的队长,数据结构小王子,代码能力+♾️,我们提出思路就没有他写不出来的代码
我:🐟一个,好像只用搞思维题+图论题+简单数论,代码量最轻松
我们三个还是训练蛮久的了,从上个暑假假期的多校训练,再就是semA一整个学期的练习,以及寒假后半程每天下午+晚上两套cf div1
对于我们三个最大的感觉就是,都是状态型选手,曾经开玩笑道如果我们三个都在状态都可以去参加world final了。
香港站还是挺离谱的,这要从比赛前一个晚上说起。
由于锟锟经常性早上起不来,于是我们觉得搬到中大附近住一晚酒店,早上好叫他。于是我们阴差阳错的以不到两折订到一个五星酒店,体验了80平配套Switch的大豪斯。晚上睡觉有很多插曲我就不提了,我也不知道(被迫)怎么就去到锟锟房间了(原本跟yzh)。有意思的是锟锟5点就醒了,最晚醒的反倒是yzh。
day0:
晚上在酒店我们开了套前年的真题,我们2h(正常比赛5h)就达到了当年的铜牌线,口胡到银牌线 感觉状态还不错,晚上和yzh开了把王者掉分希望rp守恒考试当天会补。
day1:
早上就吃的昨天提前买的A1-backery,感觉不太能隔夜吃,上午我跑了两趟🚻。
早上溜达到港中文,疯狂感受到cityu的小,人家校园里有两趟巴士线路,我们从校门口溜达到比赛场地全身湿透,惊奇的发现我们竟然是第一个到的队伍。
直接快进到登记领取纪念品,纪念品中有一个乐高的数码宝贝盲盒,yzh很高兴抽中他最喜欢的小火龙,我也很开心抽到了皮卡丘。开幕仪式上的主持人英语有点low,yzh和我一顿吐槽以为是个学生,闭幕式的时候才知道是港中文cs的教授,太年轻了容易认错(缓解尴尬)。
day1开幕式:
前面科大的外国小姐姐迫不及待的在拼盲盒乐高,锟锟一如既往的沉默的看手机,中途的时候进来了十几个HKoi的高中生,陆陆续续坐在我的右侧,看着他们稚嫩面孔突然就感觉时间过得好快,距离我的高中oi生涯已经过去了三年多了。突然感觉话筒的声音变得模糊,不知不觉间大家都起身我才意识到开幕式结束了。
day1热身赛:
热身赛前同校吉尔吉斯斯坦的队伍走错房间去监考人员休息室了,我找到他们时候发现他们跟中大的大陆生helper们谈的风生水起。(这可能就是社牛的强大能力吧)
热身赛9:30-11:00
我们队伍电脑一直坏的,整体换座位之后新作为的电脑还是坏的,于是在他们工作人员扛着一个主机过来之后,10点多,我们刚开机。。。。开局我直接看B题,是个图论,于是他们很自然的交给我,yzh和锟锟开A题,大概30min切了。锟锟码题,锟锟不会用Linux,我教会他如何用terminal,顺便发现他一个弱智错误。锟锟敲完结果发现评测网站绷了,代码一直ce,最后发现是网站评测c++的挂了。我和yzh看B毫无思路到快结束,狠狠吐槽之后我们准备去吃午饭,刚走出机房我瞬间想到内个图论题是建圆方树之后看链上边类型的奇偶数,我一顿口胡输出告诉锟锟,他觉得也挺对的,我们一遍感慨上午状态一般,一遍暗暗加油下午好好调整。
day1午饭:
在同校队伍的学弟的带领下我们走到了一个中大学生口中不好吃的食堂,我的评价是中大学生真的是身在福中不知福!这食堂我真的哭死!!!,价格是cityu一半,味道是cityu不知多少倍,另外一个队的学弟甚至干了两份。吃饱喝足我们溜达回机房的路上看到红火蚁布满了整个沿路栏杆,突然就意识到校园太大,环境太好也可能不全是好事。
day1正赛前:
比赛前机房的氛围很融洽,感觉回到了高中竞赛时候机房午休的状态,yzh拼好了他喜欢的小火龙,科大的小姐姐拼好了同队的其他两个皮卡丘和超梦。对面是中大的一个队伍,因为热身赛时候听到了我们讨论的方法yzh和我打算四川话交流,谁能想到正式赛人家rk十几名,甩我们50名。
day1比赛开始:
比赛过程极其离谱,没错,离谱。yzh和我各随机开了一个题目,yzh大概不到5min想到做法,于是锟锟开始敲代码,我和yzh开始研究我开的题目(这个题到比赛结束没有一个队伍通过),锟锟突然刚才的F题要高精度,于是交给我开始敲,在和队伍沟通之后我决定先敲python(而非C++),这个模拟还是挺烦的,由于我们热身赛没有使用python,我现在Linux上配python的环境,刚配的差不多队友切了签到题,我先让出了电脑,他们很快就过了,我接收电脑开始写F,这个模拟还是挺烦的,大概我写了30min的时候,队友又推出一个简单数论,我把电脑让出来,队友快速敲出代码交上去WA,我看这个写法好奇怪,觉得有问题,于是让他们换我说的写法。我去了趟🚻意识到了队友刚才的错误在哪里,告诉他们之后发现他们已经换了写法。这个时候离谱的事情来了,由于我们比赛用的online judge,我们电脑的网突然没了,找了工作人员之后,他们说等一会就行了(目前还不离谱)。我继续开始敲F,大概又过了30min,队友推出了一个树dp,但是他们觉得总是中断我敲代码会干扰我的思路,但是由于是大模拟其实还好,yzh和我估计还得敲一段时间,我再次把电脑让出。这个时候电脑的网还没好,再次找了工作人员之后,他们说之前说错了,并不是等着就行了,是要重启系统,我们一整个大无语,重启系统之后把前面的题交上去过了,也就是说我们平白无故多了半个小时的罚时(无语)。队友又快速的敲出了树dp,过了。时间是开始比赛的2个小时多一点,我们已经3题进账,rk到了全场40,感觉前途一片光明。
day1比赛后半程:
从2h开始我们一个题都没有过知道5h比赛结束。一切的原因还是要说这个F题,我大概在2h多一点的时候敲出了F,这个时候F只有1个人过,我第一次提交WA,debug了之后交上去TLE了,我一整个迷惑住了,因为我们的理论复杂度远远不会tle,甚至只用跑个零点几秒就够了。之后我们发现,这个题对python没有开额外时间。。。我们直接绷不住了,因为python自身的常数特别大,正常要跑c++两倍多的时间。我们讨论之后决定还是敲c++的高精度,交给了代码能力最强的锟锟去实现,yzh给我简述了L的题意,然后去看锟锟敲。在他们敲题的时候我L题先是发现了yzh贪心是个假算法,于是我决定把询问离线反过来开始操作。途中锟锟和yzh因为高精度发生争执,最后yzh继续敲。我把我的L的想法告诉坤坤,问他能不能实现,锟锟说这个算法起码要在splay上进行操作,然后说不定每个区间还要多搞其他的,然后还得贪心。我感觉大概差不多了,换了个题目,去想E。这个时候yzh的高精度写完了,交上去也TLE了,我们一整个迷惑,然后决定压位,压\(10^8\)(从10进制变成\(10^8\)进制)。结果还是TLE了,我们很迷惑但是这个时候距离考试结束只有1h了,在yzh调F的时候,锟锟跟我提了一个E的算法,我觉得很对,于是我们先把F放了,让锟锟去敲E,是个数据结构。由于时间紧迫,我们不打算搞L了,想出来也实现不了,于是我们去搞F的优化,到快结束的时候锟锟敲完了E,但是由于不太熟悉linux,debug很慢,而且一直不知道什么原因(其实是到最后太着急了,比完赛想到其实冷静下来就可以了),于是我们换到F去把我们搞的优化加上去,我们压了\(10^{18}\)位,并且把所有小常数优化都加上了,最后还是TLE了,我真的一整个麻住,锟锟的数据结构最后没有来得及交,我们在后半程心态极其绷的状态下结束了比赛。
day1比赛结束:
我们封榜前的排名还是很高,但是感觉还是寄了,由于结果2h之后才出,我们收拾东西准备撤了,问了下cityu其他队伍,发现我们是表现最好的,我们决定不参加闭幕式直接润,回去的路上一直搞不懂F为什么会TLE,再回去的地铁上我进入了线上闭幕式,听了出题人的题目讲评,发现我们F的复杂度比出题人标程的复杂度还要低,我们一整个大无语,然后锟锟的E的算法和题解一样,所以如果我们换个策略,先敲E,然后敲F,最后如果F过了就是5题就有金了。。。。最后滚榜的时候发现是rk 69,感觉还是挺遗憾的,晚饭去陪yzh吃的和牛,吃到一半发现有好消息,我们突然从大悲->大喜。
结束晚饭之后我才意识到今天是小年,不知不觉又一年快过去了。
回想一下今年的竞赛经历,感觉还是挺丰富的,从本来自行随缘训练,在李老师的推动下进行成了学校规模的活动,我现在都记得我当时在给大一的学生讲背包(dp的一种),李老师带了几个外国人进来,然后跟我说“我相信你可以用英文讲课的”。在与其他外国人队伍沟通交流之后我发现我的英语口语有质的飞跃,我觉得今年一年说的英文比今年以前所有加起来还要多。我们队伍的训练也很多,寒假后半程的训练让我感觉有一种回到高中集训的感觉,还是很开心的,还要十分感谢我的队友,一直陪伴着我。
新的一年还是要加油的,希望退役前可以拿到金。
2023.1.14