CCPC 全国邀请赛 长春站 & 东北四省站
CCPC,ICPC,ACM,听上去很遥远的词汇呢。
终于也轮到我来写这样的游记啦!
也许两年前的我根本想不到吧,我真的走上了这条道路。
现在的时间是 2024/5/16 23:49,耳机里放的是 情熱と残響[Acoustic ver]
好像一切都是熟悉的感觉欸。
这一篇是双赛游记,其实前一段时间的蓝桥杯,天梯赛,也想写游记来着,但是也一直搁置到了现在。不过也好,上次写游记是在 noip,作为我 OI 生涯的结尾。省赛的前夜,我写下这些,作为我 ACM 生涯的开始。OI 生涯毫无疑问是有各种各样的遗憾的,不过人们总是这样,觉得自己没做到的事情都是遗憾,更甚,觉得自己没去做的事情也算为遗憾,从这样的层面来讲,我进入了算法竞赛的行列,也算是没有遗憾终生吧!
Day -1
和平常一样,没有早八,赖床。
上了十点钟的物理课,回宿舍玩。
下午和舍友一起用手柄玩了地平线,开车真的很爽!过了一会又玩了 gta5,只不过用手柄开车加射击真的很困难,其实没做过几个任务,大部分时候都在死 /youl
最后开飞机,风景真的很美。
(此处应有图,先欠着)
晚上紧急搜了一下 lambda 表达式的用法,因为发现提前准备的板子有大量现代化内容。
七点多去鼎新研讨室和队友碰面,熟悉了一下 Linux 环境。不得不说打开 NOILinux 的一瞬间,我竟然还有点感动。
随便开了一个省赛 vp,结果发现签到题真的多,而且因为新环境问题浪费了很久时间竟然还能再榜上排前几名。有点震撼。
九点半闭馆就润了,回宿舍玩。
坑了小猪姐两把,感觉非常愧疚。
Day 0
(值得一提的是,我曾经在上一篇游记中提到没有 day 0,现在还真就有了,day 0 是签到和热身赛)
早上八点多起床了,本来还想赖床但是怕被时间瞬移。
收拾收拾东西出发了。
难绷,要去北门坐轻轨,结果我们在西南一门集合了。可怜了 cengyx 哥。
说起来另一个队友叫 Bielookme,我觉得意思是别瞅我,下文就叫他瞅哥吧。

到了西南一门坐公交去北门,我们站在站台那里,结果发现车不从左边走,从右边走,而且他也没停车,难绷。

上图左侧是公交站,红框框是远去的公交车(悲伤
轻轨坐了 i 人专用座位

到东师了。东师好大!


然后迷路了,走着走着发现走出去了,也没走多远。东师好小!
领了狗牌,衣服,还有小风扇。衣服标价 599,比赛报名费 800 还是 1000 来着,两件衣服回本,三件衣服主办方倒贴800,难绷。


去了食堂发现不给我们开饭,于是先去外面逛了逛。
走到信计楼发现贴纸条有糖吃



鸡专学子心心念念的空调(
你东师饭是真的一般,说好的杠杠的伙食呢


不如鸡专一根毛((
到赛场了,三个人对着电脑找了半天菜单在哪,有点唐了。

键盘真心难用,目测不超过十块钱。松松垮垮的。某些摁键还和沾了口香糖一样,难绷。

热身赛提前开始了,上来问了六个灵魂问题,难绷。
C 看上去是个没啥脑子的题,B 根本读不懂,但是我看懂 COC 了(骄傲)
D 是高精度,队中竟无一人会 python,吭哧吭哧半天终于试过了。
难绷。
由于午饭比较逆天,所以不想吃晚饭了,直接回学校。
晚上帮学长学姐小小做了一点工作,但是我突然想起来我面向对象作业还没做,难绷。
然后发现自己不会的东西太多了,以后要少打游戏,多学习。
先开一把再说
Day 1
事先声明:我对打铜负全部责任,两个队友都很出色,和他们一起比赛我感到非常快乐,非常抱歉,也非常遗憾,我们没有打出应有的水平
起床了,感觉肚子疼,先上个厕所。
出发,打个滴。
到场了,紧急塞上两口面包。
进场开题
队友很快发现了签到题,很好。
然后继续读题,我在那里写缺省。
写完缺省队友也开出来了第二个签到,然后开始写,没一会就写完了,交!
WA
怎么回事?
看,试图找错,改了几个无关紧要的地方,交!
WA
怎么回事?
cengyx 在开别的题,我和瞅哥一脸懵逼,此时榜上已经一车人过了。
难道有坑么,但是不应该啊?
然后继续找
开了 B,想了一会,感觉是 DP,遂设状态,cengyx 在开 C,大力找规律,最后看出二的整数次幂下答案呈现杨辉三角的格式。瞅哥依然在看 L
但是由于大家都过 L 了,我们没有过,所以我和 cengyx 也没心思,所以总是回头看,最后交了七八发,还是 WA,甚至还开始怀疑起了思路,但是觉得思路肯定没错,只是觉得写挂了。不知不觉中已经过去一个多小时了。我们赶紧跟榜,发现 G 似乎很简单,暴力就过了。于是我赶紧开始写。
飞速写完之后交
TLE
怎么回事?
仔细看了看复杂度,完全没问题,难道是卡常了?
改了几处,继续交
TLE
怎么回事?
这时候已经彻底慌了,比赛开始了两个小时,我们还是只有一题。
这时实在受不了了,赶紧回去接着看 L,这时 cengyx 提出,要么把快读快写去了试试。我表示非常怀疑,怎么可能呢,我快读快写还能写错吗?
结果删了交
CORRECT
草?!?!?!
真是快写锅了。。
这个时候 cengyx 帮我看 G,发现我在循环中开了一个巨大无比的 std::vector ,而这是完全可以复用的。改完以后又过了。。
于是因为我的两个问题,导致全队浪费了一个多小时,还有大量罚时。
赶紧接着开,看了一眼 D,感觉很神秘,k 很小,说明有大量的点在同一条线上,当时口胡了一个找一条尽量多的点在同一条线上,然后验证,找线可以直接随机化,但是由于并不敢写,所以我们尝试了看起来更稳妥的 E。不过此时只剩下两个小时多一点点了。
想了一段时间,感觉就是二维数点,跟队友一说,他觉得很有道理,于是我开写了,写了一半才猛然发现漏了一个条件。然后整个人傻了,不自觉的去想 cdq 分治,但是还是没办法维护连通块,而且场上很多人都过了,绝对不是这样的。
但是我依然沉浸在二维数点的深渊无法自拔,甚至忽略掉了队友提出的并查集思路。
队友开 A,但是也没啥进展。
全队当时处于一个非常疲惫的状态,因为精力最佳的一段时间浪费在了给 L 和 G 找 BUG 上,现在全队都没啥力气了,cengyx 还处于感冒状态,昏昏欲睡。
C 题当时我很想说矩阵快速幂,但是我没说出口。最后我们决定他们两人全力开 B,我继续思考看起来最有希望的 E。
随后就结束了。
非常丢人,颁奖的时候甚至都不想上去。
我还是很难过的,毕竟我觉得我们队的实力远不止此,但是却因为我的战犯级表现,只能屈居铜首。
磕头谢罪。
晚饭也没怎么吃。
东北赛热身赛的时候,发现右边是哈工大的某队,从队名来看,应该是他们的告别战了吧。
瞬间压力大了。
但是见到 ycs 了,有点亲切()
一路昏昏沉沉浑浑噩噩的就回到学校了。
晚上有点痛苦,陷入了深深的自我怀疑。
甚至感觉我的整个 cp 生涯就是一场彻头彻尾的笑话。
不过我还是很想不通,为什么我从来没写错过的快写能出锅?
为什么以前从来不犯的错误,在今天的比赛却一犯再犯?
我只能安慰自己状态不好,毕竟明天还有一场比赛。
晚安。
day 2
真冷。穿少了。还下雨。
一路打着哆嗦到了赛场。进场。
开打,首先开题,一下子找到签到题了,迅速写,但是由于交流有点问题,导致一开始没保留两位小数,成为了全场为数不多的唐氏队伍。
此时场内响起了一声巨大的我草。
看榜,发现是过 D 了,但是才刚开赛没几分钟,所以应该是猜结论。
我瞟了一眼样例,开玩笑的和队友说:大胆猜结论:小于等于 3 lose,否则全赢。
队友看了一会,找了找规律,首先找到了比较小的几个 lose,然后开始对 mod 4 分类讨论。
瞅哥找到 A,看起来很签到,于是他说交给他了,我说好,就去看 D 了,随后我跟 cengyx 说了说我的想法,他说你说啥呢,我再一看原来是读错题了。然后又读了一会,感觉就是将后面的凑到前面的情况,但是我想不明白。
然后我跑路了,留给他继续做。这时候 D 已经过了一车人,我们有点急眼了,因为觉得肯定没多难,但是我们目前还不会做。
过了一会,瞅哥想了个 A 的假做法,然后我和瞅哥换题。然后瞅哥瞪了一会 D ,大胆提出:我特么怎么感觉这哥们就赢不了啊,cengyx 听完觉得很有道理,于是赶紧写一发,然后过了,难绷。
然后我会做 A了,跟瞅哥一说,瞅哥觉得很有道理,然后开写,发现过样例了,但是手造了一个没过,写挂了,我赶紧叫瞅哥帮我 debug,瞅哥一顿改,能过了,但是又造了一个又不过了,cengyx 这时提出:思路没问题吧?我说肯定没问题,然后我说我重构一下。重构完了发现全过了,然后交,过了。但是吃了几发罚时。
此时排名还行。
然后 cengyx 开 E,我开 H,一眼顶针 Kruskal 重构树,后来发现读错题了,应该是二分,但是发现榜上没人写啊,于是放过去了,去开 L,瞅哥开 I。
瞅哥想了一会,想出一个 DP,但是出奇的简单,然后开写,我一时间也没挑出什么问题,
过了样例,问我们敢不敢交,我说停停,先写个暴力对拍。然后我去写暴力,先试了几组,发现不对,他去改了,然后我们跟榜,发现 L 不少人过了,然后开了 L。
想了一会,觉得是表达式树,画出树来,想了一会,没想明白,看了 M,发现这是很套路的 计算几何。我问他俩你们会不会计算几何,结果大家接连摇头。
然后接着看 L。cengyx 抽象出了操作序列和限制关系,在考虑怎么计数。
但是并没有想明白。于是他去开 E 了,过了一会他说,这特么直接枚举就行了。
然后写了一发,稍微调了一会,交了,然后一下子过了。
cengyx 牛逼!
继续回来 L,还是不会,于是我加入了。然后就在考虑括号放的位置,一开始是考虑从左往右,结果发现他们互相影响。
又折腾了一年。最后 cengyx 一拍脑子:倒过来转移就行了!
然后写,写了一会,过了。
cengyx 牛逼!
此时还剩下一个小时多一点,我们在银牌区,大概是倒数十名的位置。看了一眼榜,发现再出一个有希望金,于是我说开 M 吧,我会做 M,但是没写过计算几何题,会写的比较慢,于是我开始找板子,又找了一年,开始写的时候还剩下五十多分钟。一边写一边查板子,自己手推式子,板子上找不到的就自己推,剩下的时间他们两人开 F,并且已经想到幂次和质因数了,但是就卡住了,不知道接下来怎么办。距离比赛结束十分钟,我终于写完了,编译没过,发现点的哈希没写,于是赶紧改成 std::pair<node,int>(至于为什么要哈希呢,我想着是枚举 CD 后把中垂线上的两侧点分别存起来,然后连线垂直的(也就是长方形的两条边)也分边数存起来,然后匹配,感觉很对 $O(n^3)$)距离比赛结束三分钟,终于改完了,测样例,没过,输出了一下存储的内容,发现只检测到了一边的点,但是不知道是哪里写挂了。最后到结束,我们依然没有调出来。
于是我们只能寄希望于滚榜,希望不要把我们从银牌区挤出去。
我终于明白为什么滚榜会如此刺激了。
整个过程我们一直在祈祷,千万不要超过我们。
可惜的是,我们还是被挤下去了。又是铜首。我们还是挺失望的,因为当 cengyx 连切两个并且觉得 M 很有希望的时候,我们真的以为自己有可能能摸到金,非常兴奋,但是最后却事与愿违,甚至没有保住银牌。不过也还算不错,这一场虽然也有不少遗憾,但是我们找回了一些状态。
烈冕号和砖鸡是真的强,佩服。
我校其他队伍也很强,羡慕。
总结



人生中的第一场 acm 就这么收场,真的是很不甘心。
得到了很多教训
- 我队思维能力普遍不强,急需加强
- 我队知识面没有完全铺开,竟然出现了三个人同时没有做过计算几何的情况。
- 我队比赛策略稍有问题,需要调整
- 我个人疏于训练,虽然已经上了一年大学了,但是我训练的时间却是少之又少,我认为这是能力退步的重要原因,甚至因此拖累了队友,再次谢罪。
哎,事已至此,回去加训吧。

被骂了,难过,但是老师骂的对。
希望下个赛季一雪前耻,不能再这么丢人了!
最后放一张合照吧:
