HBCPC2025 游记

一些链接:

正式榜单

题目列表 (QOJ)

题目列表 (CF)

题解 (zh)


Day -???

#define team_name 在红警开坦克的超级绵羊

理由是,牢狱玩红警,我玩坦克世界,闯闯玩超级鸡马。

但是这名字起得也太low了吧

Day -??

忘记具体日期了,反正是高三四调的 Day1。我们刚考完期中,学校组织全年级春游(但是我去不了,要集训呜呜)。

春游到下午就结束了,晚上万匹把闯闯和牢狱叫回学校,一起对着去年的 HBCPC 真题熟悉赛制。

正常的 ICPC 会有 5 个小时,我们只有 3 小时。万匹只让我们用一台电脑写代码,那就用我的好了。

然后就被吐槽了。

牢狱:哇塞你怎么用单 Shift 切换输入法啊!

牢狱:你这个小熊猫 C++ 查看变量没有快捷键吗?

闯闯:你写个围棋居然调了 40 分钟。

……

别骂啦,我一直都很菜的……/wq

不过我们依旧超有默契!

牢狱来得比较早,我们用了不到 15 分钟切掉了三道签到题。

之后是闯闯,我还在敲 Points on the Number Axis A 的时候他才来,并且在我写完那题代码之前就和牢狱胡出了LCM和围棋两道题的做法。实力恐怖如斯!

在牢狱和闯闯讨论的时候,他们发现维护围棋的“气”比较复杂,于是提出了围棋的一个新概念,称之为“豫”(取自牢狱名字),类似于“气”。对于一个同色围棋子所形成的四连通块,定义其“豫”为这个连通块边界上【不与棋盘边界以及其它棋子相邻】的格线条数。则“气”为 \(0\) 等价于“豫”为 \(0\),维护起来特别方便。

然后如上文所示,我承包了代码的 dirty work,结果调了 40 分钟,甚至没调出来,遗憾放弃。

在我调试的时候他们也没歇着,口胡了蹦蹦炸弹,也是一道细节题。我放弃之后,牢狱接过电脑开始实现蹦蹦炸弹,闯闯开始攻克 Points on the Number Axis B。我摆烂了,索性打开闯闯的植物大战僵尸破解版开始玩“我是僵尸”

闯闯把系数的表打得差不多了,叫我过去帮忙找规律。其实第一次看到这个含有大量四位数的三角形表,我的内心是拒绝的。但是闯闯把打表的计算方式告诉我之后,duang 的一下,把转移系数及其路径画出来,则一个点到另一个点的路径上系数之积恒定。我只提了一下能不能把转移系数画出来,然后闯闯就在我自己反应过来之前宣布切掉了这题,又细细地对我讲解了一遍。这默契绝了!ACM 就是我们热血沸腾的组合技!!!

眼看牢狱仍然在奋力敲代码,我们一致认为此时应该立刻把 Points on the Number Axis B 过掉。切掉这题只用 10 分钟。中间还有一个插曲:我敲完代码过了样例,但是提交之后吃了罚时。闯闯还以为我们胡出的结论假了,结果过来看代码的时候一眼盯出我有一个地方没取模,果不其然改完就好了,我要背大锅……

牢狱继续调试,我和闯闯接着看附魔书那题,闯闯拿出可持久化线段树秒了。至此,我们会做的题已经不可能在比赛结束之前全部写完,于是闯闯也来玩“我是僵尸”了。

途中牢狱还帮非常热心地帮助我们计算了每一路的单破费用,他真的我哭死/youl

最后,牢狱没有来得及切掉蹦蹦炸弹,总成绩是 6 道题。假如时间充足,我们至少可以把 6 变成 9。当然这还不够,9 题的成绩才勉强进前 50。

Day -3

开始着手准备可带入考场的纸质资料。我精选了重难代码模板,把每个人写的版本都打印下来。同时应闯闯的要求,添加了数论相关wiki内容截图。

大概看了下马蜂,三人之中封装的最好的是牢狱,最易懂的是闯闯,最短的是我。哈哈,这就是短小精悍(bushi)

Day 0

三人小队一起坐闯闯麻麻的车去报到。

比赛地点是位于东西湖区的华中科技大学网络空间安全学院。这里远离武汉市区,地广人稀,宽阔而整洁。道路两旁都是新栽的梧桐树苗,一排排立着很是规整。路过一个还在招租的厂房时,看见那厂房周围的草坪上大片大片地开满了粉色的花,可惜离得太远认不出品种。简直比樱花还好看!

校园有多大呢?引用牢狱的原话,“这走廊跟我们教室一样宽”。我们几度在校园里迷路,只怪这地方实在太大。

报到时领了两天的物资,包括一瓶水、一张参赛证胸牌、一份参赛须知、一张餐券、一件 ICPC 订制短袖和一个纪念品保温杯。相比于¥200 的报名费,我这是赚了?

距离热身赛还有一段时间,打开 Brawl Stars 领了过量回归奖励。让学弟开了一份星妙惊喜,出传奇!哈,把学弟欧气吸光光!

打热身赛。左边是中南大学,右边是广西大学。学弟们组成的其中一支队伍也在我们这个考场。他们队名叫做“Red Codeforce”,气突苏!

牢狱发现队名是“在红警开坦克的超级绵羊”后把我臭骂一顿,但是我想的是贩剑成功了真的爽。

下发了三份题面,一汉两英。A 是签到题,在我的代码之力的作用下,它贡献了“排序排反”和“漏写等号”的两发罚时。

B 纯诈骗题,然而!我在写 A 的时候关了流,闯闯直接复制并在此基础上修改,关键是他 putscout 混用,我们想破脑袋都没搞明白到底是哪里出了问题。一度甚至怀疑结论假了、题面看错了、impossible 敲错了。最终发现是关流的问题后,我们高兴得如同原始人一样嚎叫,单题用时 \(88+20\) 分钟,堪称壮举!

在 B 题仍处于调试阶段时,我们决定同时推进 C 题和 D 题。

C 是计算几何。没有队友帮忙,反而总是被我和闯闯打断,就是在这样艰苦的条件下,牢狱依然凭借绝对实力单杀计算几何!

关于 D,我在前不久的 XYD 模拟赛还做过一道很类似的题,用 \(O(n \log^2 n)\) 的复杂度碾百万数据规模。

距离比赛结束 40 分钟时 AK,拿下 AK 队伍里面的倒一(罚时吃满了),位列第 43,遗憾银奖。

总结了一下,只要 \(B\) 题不出这么低级的错误,那就是稳金。为了避免重蹈覆辙,我们约定好统一使用 cincout

带着工作人员奖励的四只彩色气球,我们踏上寻找食堂的征程。是的,由于离开得较晚,我们没有跟上大部队,迷路了。向工作人员问路,问了一圈,结果又走回了考场,晕。

食堂味道不错,川味鸡尤其好吃!牢狱就不一样了,他不吃辣,一看到每道菜看上去都是火辣辣的(其实一点也不辣),只好攫取了过量的桂花糕,一边吃一边吐槽桂花糕太胀肚子……

晚上坐万匹的车回家。瓜分了一下气球,正好一人一只。

Day 1

大部分咕掉了。

牢狱贡献了 4 道题的 AC 代码,闯闯贡献了 2 道题的 AC 代码(包括凭一己之力切掉 C 题),我贡献了 0 道题的 AC 代码,外加浪费在调试 B 题代码上的两小时。

但是我们最终拿到了金牌,这说明什么!牢狱闯闯恐怖如斯!!!队友带飞!!!当躺赢狗太爽了!!!

主持人念队名:“恭喜‘在红警开坦克的超级绵羊’获得金牌。”We are the champion!

posted @ 2025-04-23 09:01  wsinb  阅读(79)  评论(0)    收藏  举报
/*