2026 ICPC 西安邀请赛游记

· · 生活·游记

零、比赛名额

西安赛站和下半年的区域赛由同一主办方承办,往年一直有赠送区域赛名额的传统,因此邀请赛的报名格外激烈。我们最初报名时一波三折,并没有拿到正式名额。

直到某天早上,我意外从一位朋友口中得知,有一些队伍临时退赛了。于是我抱着试一试的心态联系了西北工业大学的负责老师,没想到阴差阳错之下,我们真的获得了这个候补名额。

这个名额来得突然,也来得幸运。于是,我们的西安之行就这样开始了。

我们的队伍配置是,大二的我,大三的42学姐 @42i196,大四的陆学长

一、初到西安

西北工业大学位于西安市长安区,地处秦岭北麓,周边地广人稀,颇有几分偏僻。

我们一行人于五月一日深夜抵达西安,到酒店办理入住时,已经接近十一点。友校的羊驼先生非常热情,下午帮我们完成了签到,等我们到达酒店后,又专门把比赛物资送了过来,实在令人感动。

安顿好之后,我和陆学长在酒店周围简单吃了点小吃,随后便回去休息。毕竟第二天就是比赛日,养精蓄锐才是头等大事。

二、比赛日

1. 热身赛

首先进行的是热身赛。

开赛后,我先配置比赛环境,并编写了 VS Code 的相关脚本。环境确认无误后,我们开始做题。热身赛整体比较顺利,我们切掉了三道题,最后还剩下一道二进制优化 DP。

考虑到热身赛的主要目的还是熟悉环境和流程,我们没有继续往下硬写。期间,陆学长买了几个包子给我们当早饭,也算是在正式比赛前补充了一波能量。

2. 正赛开局:两分钟一血,五秒之憾

正赛开始,试题册一拆封,我迅速通读了一遍题面,很快发现了一道非常简单的题:E 题

和队友示意之后,我立刻开始写代码。大约一分钟左右,代码就敲完了。这时 42 怂恿我直接提交,但我觉得还是稳一点比较好,于是花了十几秒跑了一下样例。

确认无误后提交,果然通过。

E:1/2,Accepted

不过也正是因为这十几秒的求稳,我们最终以 5 秒之差 错失了最快解题奖。这也成了整场比赛中最令人遗憾的一件事。

当然,这是后话了。

当时两分钟过掉第一题后,我们的排名一度来到全场第二,整个队伍的氛围瞬间轻松了许多,我本人的紧张感也随之消失,比赛状态一下子就出来了。

3. 前一小时:四题一发,节奏极佳

随后,42 发现了第二道相对简单的题:D 题。他很快开始敲代码,而我则继续在试题册上寻找其他可做题。

不久后,42 顺利 AC 了 D 题。

D:1/33,Accepted

紧接着,我开始写 J 题。这题思路比较清楚,实现过程中也没有出现太多波折,很快一发通过。

J:1/40,Accepted

就这样,我们已经通过了三题,而且全部是一发通过。这个开局对于队伍士气来说非常关键。

随后,我开始和 42 讨论 A 题。相比前三题,A 题明显要更难一些,需要抓住题目的核心性质。好在 42 很快找到了关键点,我们讨论清楚后开始实现。

大约 15 分钟后,A 题再次一发通过。

A:1/55,Accepted

此时比赛才刚刚开始 55 分钟,我们已经通过了 4 题,排名来到 27 / 353

看到这个排名时,我意识到:凭借当前的过题速度和罚时优势,我们很有希望去冲击一枚金奖。那一刻,整个队伍的信心都被点燃了。

4. 中盘:B 题遇阻,L 题破局

这时,陆学长发现 B 题 似乎也不难,但代码细节比较复杂,于是开始写 B 题。随后,42 也加入了 B 题的思考。

与此同时,我在研究 L 题

L 题是一道非常有意思的构造题。可惜我的构造能力有限,虽然能感觉到它有突破口,但一时间没能想出完整方案。不过我相信,只要 42 从 B 题中抽出身来,我们一定有机会把 L 题拿下。

很快,B 题陷入了瓶颈。于是我把 42 拉过来一起讨论 L 题。

经过数十分钟的推演和尝试后,42 成功构造出了正确方案。我们确认细节后提交,又是一发通过。

L:1/170,Accepted

此时我们已经来到 5 题 300 罚时,排名依旧非常靠前。L 题的通过对我们来说非常关键,它让我们从“开局顺利”真正转化为了“成绩落地”。

5. 后半程:M 题与 B 题的双重遗憾

L 题后面紧接着就是 M 题。它可以看作是 L 题的 hard 版本:题意几乎一致,只是对构造方案的开销要求更加严格。

我和 42 都很想攻破这道难题,于是几乎一头扎了进去。与此同时,陆学长继续努力 debug B 题。

我们不断尝试 M 题的构造方案,也反复调整思路,但始终无法通过。直到比赛封榜,我们仍然没有找到完全正确的做法。

封榜之后,我们开始和陆学长一起研究 B 题,试图在最后阶段把它补出来。但遗憾的是,最终 B 题也没能 AC。

最终正赛成绩定格为:

题目 状态 提交情况
A AC 1/55
D AC 1/33
E AC 1/2
J AC 1/40
L AC 1/170
B 未通过 4/296
M 未通过 2/157

最终总成绩:

项目 结果
过题数 5
罚时 300
排名 106(队伍排名) / 85(学校排名)
奖项 银奖

三、讲题与滚榜

讲题环节中,我们发现陆学长的 B 题思路几乎与题解完全一致,只是在一处细节上出了问题,导致最终没有通过,实在可惜。

而我们 M 题的构造思路也和题解相差不远,但提交始终无法通过,说明方案中可能仍有某些特殊情况没有覆盖到。

最激动人心的自然还是滚榜环节。

由于我们只通过了 5 题,一开始大家都比较担心:会不会最终掉到铜奖区域?不过结果是好的。凭借前期极快的过题速度和较低的罚时,我们最终以 5 题第 3 名 的成绩拿到了银奖。

金奖线是 7 题 821 罚时。如果 B 题和 M 题能够成功解出,我们确实很有希望冲击金奖。想到这里,遗憾当然是有的,但更多的还是动力。

四、总结

本次比赛,我们收获了一枚 ICPC 全国邀请赛银奖,刷新了学校历史。同时,结合这次比赛的成绩,我们也基本锁定了区域赛名额,这无疑是此次西安之行最实在、也最重要的收获之一。

当然,这场比赛仍然留下了一些遗憾:

但这些遗憾并不是终点,而是我们继续向前的理由。

银牌落定长安夜,未尽之意在来年。

我们下次比赛再见!