

Day -inf#
该从哪里开始说起呢。
去年的 ICPC NAC,我发挥得非常差,排名也非常靠后,可以说在北美几乎是倒数。从那以后,我就一直有点不想碰 ICPC。整个暑假都在实习,一直到 ICPC Regional 前,几乎都没怎么写过题,算法水平退化到连 OA 都能写挂的程度。
其实理性上我知道,稍微刷个十几题,手感就能找回来,也不至于连 OA 都写挂。但问题就在于,那段时间我连碰都不想碰。
到了 ICPC NAQ,发现我们学校好像也没有突然冒出来什么特别强的选手,于是还是和去年的队友 Jeff,再加上一个新队友 Yehor 组了队。Regional 也完全没准备,题目出得也挺烂,写了个签到题之后我就不太想写了,后面基本都丢给队友解决了。现在回想起来,感觉自己当时有点坏。还好队友人都很好,没有怪我,感恩。
于是,就这样被队友带进了北美总决赛,ICPC NAC。
Day -inf / 2#
寒假的时候,我意识到好像必须得做出一些取舍了。如果想冲wf就很难同时兼顾别的很多事,和很多的朋友聊天,还有自己冷静思考后还是决定再冲一把wf,不想给自己留遗憾。
于是从 2025.12.29 重新开始进行康复训练。 和以前中学竞赛时期一样,我开始记录每天的做题情况和康复进度,一直记到ICPC NAC。慢慢地,我重新发现:刷算法题、学新算法带来的正反馈还是最强,我果然还是喜欢那些精妙解法带来的震撼感。
寒假里我还顺手把白二推了一遍,感触很多。白二真是仙品,丸户神了。
开学后我马上联系队友一起训练,基本保持每周一次。队友们也都很积极,特别是 Jeff,真的非常有热情。第一次 VP 往年的 ICPC NAC 时,我们就发现自己其实是有机会进 WF 的,那一刻突然就有了信心。
训练过程中,我也逐渐意识到,队友们其实很有天赋。虽然他们会的算法不算特别多,但都非常聪明。比如刚讲完卡特兰数组合数通项公式,队友转头就能自己手撕组合意义,真的有点震惊。
也是在这段时间里,我才真正意识到,ICPC 本质上是团队赛。上大学以来,我好像一直都想着单挑:自己能解决就解决,自己解决不了就开始摆烂。我似乎从来没有真正相信过队友,也没有真正期待过队友能帮我分担,一直默认只能靠自己兜底。
但这一次,我确实感受到:想进 WF,就必须相信队友,必须制定团队策略,而且看起来也不是完全没有机会。于是我一边在周末和队友训练,一边继续自己的个人康复训练。虽然我知道自己的水平还远远没有恢复到巅峰期,但至少状态已经回来不少,不算太差了,而且心态也远比高中时期要好,这才是最影响我发挥的。
Day -10 ~ -1#
刚好 NAC 前赶上春假,有一整段连续空闲的时间可以集中训练。而最后帮我晋级 WF 的那个算法,也正是在这段时间里复习到的。现在想想,也算是某种意义上的天意吧。
这段时间里,我还鼓起勇气,重新去看了自己退役之后几年都不敢再碰的联合省选 2022,补了当时赛场上没写出来的题。结果发现,我当时很多核心思路其实都是对的,因为各种原因没能做出来,真的非常非常可惜。那几天小小地玉玉了一下,但也算是终于直面并跨过了自己的心魔,还是有点爽的。
也是在这段康复训练期间,我突然开始频繁梦见高中竞赛时候的生活。之前两三年从来没有这样过。偶尔也会在深夜睡不着的时候,忍不住去想如果当时没有失误,如果那时候心态稍微好一点,我现在的人生会不会有很大不同?如果我真的进了清北,我现在又会是什么样子?虽然我知道,人生没有如果,但还是会忍不住去想,真的忍不住。NAC 前几天,我几乎每天晚上都会想到这些。
春假这段时间,我还顺手面了一家国内公司,结果意外地挺轻松就拿下了一个挺大的包(虽然我并没有打算去), 但是也算是给自己又增添了一点自信吧。
出发前一天晚上,我还和 Jeff 在机房里一起折腾模板。
然后,就这样出发了。
Day 0~3#
从早到晚安排满各种活动,军训来了
也见到了很多去年的朋友。那些 quant 的 HR,居然隔了一年还记得我,到处 social,聊得特别开心。
中间也有一些模拟赛。单看排名的话,我们其实是有不小机会进 WF 的,当然是正式赛别出什么大失误。
OpenAI 挑战赛的时候,我在做一道模拟退火调参题。另一题其实是斜率优化 DP,队友对这个不太熟,只把 DP 方程写出来自己在那想,没有及时给我看。最后给我看了一眼我就秒了,但那时候已经来不及了,还是有点可惜。
那场之后,队友心态有点炸,一直说正式赛那天自己不碰键盘了。我只能一直安慰他说没事,正式赛好好调整策略,有什么想法或者哪里卡住了都可以直接给我。
晚饭后看了一会Tourist 一挑四比赛,就早早回去睡觉了。
Day 4#
正式比赛日
睡了八个半小时,上一次在比赛前睡眠这么充足好像还是高中,大学经常比赛/考试前一天睡四五个小时就直接上了。
至于为什么之前只睡这么点肯定不是因为我熬夜摸鱼摸过头了
我赛前定的比赛整体的策略就是,前期各自想各自的,然后如果觉得会了就立刻上机写,尽量跟榜。然后中后期就转换为一个人上机,另外两个人可以一起合作想一题。遇到不确定的解法,就先讲给另一个人听来验证思路。然后我想到的题,我觉得队友能写的就丢给队友写,我继续去想新的题。队友如果有什么算法上不知道的直接问我,比如写了个dp方程不知道怎么优化直接丢给我。
开场两个队友先各写了一题,然后我那题是 01分数规划/二分答案 + 曼哈顿距离转切比雪夫距离, 问了一下队友发现队友并不知道这个trick,然后我就自己写了,手有点生不过还是20多分钟写出来了,排名来到了第14。 已经在wf出线区了,算是一个不错的开头。
之后开始有点卡题,他们两个人一起想一题,我在想另一题,又过了一个小时队友把他们那题写出来了 ,我们的排名来到了第9。与此同时,我那题还没想出来。队友开始去看别的题,但一时间也没什么思路。于是我让队友把他正在想的题讲给我听,听完之后我发现,这题好像暴力就行,只是需要一个计算几何模板。模板我们是有的,但我自己不太熟,于是我就把它丢给 Jeff 写,相信 Jeff 的码力。我和另一个队友再一起想新的一个构造题,合作下也想出来了,于是丢给那个队友写了,我再去想别的题。 Jeff写出的时候我们又回到了第12名,然后让Yehor写构造题。
Yehor写完过掉的时候,我们观察榜单看剩下可能可做的几题,一个概率dp题,一个构造,一个环形dp题, 我感觉我脑子有点晕,感觉不太能做构造题,Jeff数学好,于是把概率dp题丢给他,我去想环形dp题。
第一步想怎么断环,思考一下发现直接找最大值断开,顺时针逆时针两个方向分别处理一下就可以了,然后把 的 dp方程写出来,一开始猜是不是决策单调性优化dp, 刚好上个月看了一个新科技:简易版 LARSCH 算法,于是尝试证明四边形不等式。结果和队友解释到一半的时候突然意识到能产生贡献的只能是区间的两端,简化一下dp方程发现就是一个斜率优化dp。 于是我立刻准备始写,但是突然意识到转移的那个k不是单调的,不能用队列维护凸包,得用李超线段树优化转移。李超线段树我上周随便看了两眼,但是没写代码,上一次写代码已经是至少五年前的事情了。 冷静了一会自己重新在草稿纸上推了一下发现不难,应该能打。 这时候,队友概率dp炸了一发,已经封榜了,封榜前排名第12,其实不是很稳,压力有点大。 但是队友还是选择相信我,打印代码后把电脑让给我写,于是乎我20分钟速通了李超线段树优化dp,还没开始调试。 这时候队友说他们找到bug了,于是把机子让给他们,过掉了概率 dp,这时候已经7题了,感觉已经有点稳了(赛后发现其实非常不稳,有点吓人)。
之后他们又把电脑让给我,我调试一会发现是断环成链的时候写挂了,还好李超树没写挂。先交一发WA,这时候只剩下20分钟了,感觉心跳慢了半拍,整个人有点慌。 马上重新开始一行行检查代码,不到一分钟发现是调试的时候把李超线段树大小定成了 10,没有改回去,改回去后立马重新提交, Accepted!
我和队友当场直接欢呼,这下大概率是真的稳WF了。
剩下的十几分钟尝试写剩下那个构造题,最后几分钟其实已经想出来了,但是貌似已经没有时间写了,不过无所谓了,已经稳WF了
比赛期间我们三个午饭完全没吃。比赛结束之后,我因为太兴奋,还是几乎什么都吃不下,只能逼着自己随便塞了点东西进肚子。
队友也都特别开心。
之后就是 拍照、聊天、参加 ceremony、等滚榜,最后结果出来:北美第九,正式晋级 WF。
有点不太真实。
这么多年的竞赛路,到这里,终于像是有了一个 happy ending。
父母凌晨四五点就起来等我比赛结果。 自己好像终于被世界温柔以待了。
也总算是,又实现了一个自己的梦想。
这次,我真的当了一回队伍的责任神,也总算是自己成全了自己。
后记#
进 WF 那天晚上,我直接通宵庆祝了。结果队友居然还在补题,哈人。
仔细想想,这次 Jeff 确实也是真的拼了。毕竟这已经是他最后一次机会了,他马上 master 毕业,所以才会这么努力、这么认真。
真的非常感谢队友对我的信任,也非常感谢始终没有放弃的自己。
最后那段时间,理性分析的话,其实构造题过掉的概率可能比我那题大。但队友最后还是选择无条件相信我,直接说一句 “let him cook”。而我也总算没有辜负他们的信任。
真的很幸运,也很感谢自己能遇到这么好的队友。
那么,ICPC WF 2026 迪拜见吧!