HNCPC 2026 游记

· · 生活·游记

队友:@tzhengqing(下文简称 tzq)、@fusiyi1234(下文简称 fsy)。

Day -?

随机组队,结果落双了,于是队伍只有两个人。

Day -9

发了一个帖。

然后也是惊讶地发现 tzq 码风也是到了一个程度。这怎么办。

Day -4

教练在我们的不断催促下也是终于告诉我们队的剩余一个队友是谁了。因为注意到这天是 HNCPC 模拟赛。

但是模拟赛队伍全部开挂直接大肆使用 ChatGPT 和 DeepSeek 这怎么办。你真的认为只是一个队伍三个人在做题吗。

最终成绩:6 题,但是排名仅有第 10,并且本来我们只有五题的但是有一道题只 WA 了一个点用数据点分治把它特判了。

Day -2

打了一场 ICPC 重现赛,注意到此场比赛有 @kevinZ99 carry。

然后我发现我做了两道签之后就一道不会了。结果 tzq 也是虐题狂魔秒了两紫一蓝,直接把队伍带飞了。

瞬间心态大好。所以我就这么说要是 tzq 这个发挥 HNCPC 不稳 rk 前五了吗。

Day 0

正片开始。

也是 8:00 就做车走人了。这次比赛地点也是偏僻的没边了哈做大巴车要开 6 个小时。

显然这 6 个小时我们是不可能啥都不干的,然而 tzq 被服木制裁了带了滚木个电子设备,我只好掏出我的平板来玩了。恰好还带了个手表来提供热点。

于是就下了一个半小时的 lichess,结果玩着玩着发现手表直接耗了一半电量了,并且手表充电线和平板充电线都没带,这谁绷得住。

不过庆幸的是这几盘运气还可以,要么就是王兵局博弈成功要么就是对面送礼物来了。

很快就不能使用热点了,这怎么办?很简单我们直接借一下 @Gcend 的热点就行了。代价就是要和他对下国象。

有点后悔我平板带错了一些离线游戏都没装,最后直接掏出开心消消乐在那玩。

tzq 好像是这个游戏的高手,他还说他妈妈玩了 6 \times 10^3 关,虽然并不能验证其正确性,但他连续几次 5 步过关倒是真的。

又在包里面搜到了一个俄罗斯方块游戏机,这个我就真菜了吧消了 5 行就死了,直接丢给 tzq 玩算了。

然后直到大巴车都到吉首了我才想起来我都不知道队名是什么。问了下教练才知道是长沙市一中 3 队。

下午 2 点终于到吃午饭的地方了,但感觉菜比较一般,没有吃很多。

试机。这 CodeBlocks 字体是不是有点魔怔了,好在 fsy 知道如何改变字体这才让 CodeBlocks 变熟悉了一些。

试机题依然一道 A + B Problem 加三道神秘题。然后我看到 B 是道期望题直接就联合 fsy 把题目丢给 tzq 了。自己就和 fsy 讨论 D。

讨论了半个小时后想出了一个可能可做的做法,复杂度应该是 \mathcal{O}(\frac{n^2}{w^2}) 的,虽然 10^6 除了一个 w 之后好像还有 30000,但是时限给了 3s 应该没有什么问题。结果想打一下代码发现 tzq 还没调完。于是我就好奇看了一下 B 题题面。我去这不是 HNCPC 2025 I 题吗?我甚至当时自己打代码场了的!!结果我刚想指导一下 tzq 被他拒绝了,他还说这种水题他必须得独立做出来。最后的事实证明他确实做出来了,给我和 fsy 留了 8 分钟来做 D。

剩下的时间就在酒店过了,然后因为我没带充电线就去旁边的一个超市买了一个,结果回去一叉发现匹配不上,这才发现原来苹果平板已经改用 ‌USB-C 了吗。

然后达成 buff 不限时间的玩游戏,结果玩着玩着忘记要吃晚饭了,到了晚餐地点发现找不到座位,这就很尴尬了。

吃完晚饭直接就回酒店,那还说啥了,整个晚上就这么过了。

tzq 觉得 lichess 太烧脑了直接上楼上房间看 @GCSG01 打 florr 了,然后他的室友 @lazy_qwq 也是忍受不了了直接跑到我房间来了。交换室友这一块。

令人意想不到的是 tzq 并没有凌晨四点才睡觉,竟然 00:06 就上床了。虽然这句话仍然应该放在 Day 1。

Day 1

也是到比赛日了啊,早上七点准时起床,然后去顶楼吃早饭,结果来的时间比早餐提供时间要早这谁绷的住。

然后就到比赛场地了。感觉吉首大学也不小啊,至少能承包整个比赛场地了。

fsy 为了证明自己的实力直接写了一个线段树模板和 \mathcal{O}(1) 求 LCA 模板,结果写着写着直接写到 9:01(比赛开始时间 9:00)了,关键是帐号还没登,直接浪费了我们抢首 A 的宝贵时间。

刚开 A 题一眼鉴定为签,然后我直接秒了,可惜速度还得练花了四分多钟。

于是 tzq 开 B,我开 C。本来以为 C 也是签于是我又占用键盘直接把 C 代码写出来了,但仔细想想发现进行黑格转换为白格的操作并非一定不优,然后就卡了,然后 tzq 直接篡位把电脑抢了冲 B。

结果用了 \frac{1}{4} 张草稿纸发现 C 只要套一个反悔贪心就行了,用链表维护左边和右边的连通块编号,然后就想到抢回电脑,结果 tzq 直接上头了不给我做。然后一个 1KB 不到的代码依次找到了六七个错误,直到后面正确的不能再正确了才发现他翻译错题面了。

然后 tzq 说唉呀没事只要略微改一下代码就可以了,结果改了二十多分钟,此时已经十点半了而我们队才过了一个题,于是抓住机会夺回电脑来做其他题。

看榜发现 I 通过人数很多,于是花了几分钟来想 I,然后想到一个思路,只需要分别判断 8 个序列每个序列按一个顺序排序然后判断第 1,5,2,6,3,7,4,8 个序列是否分别相同就做完了,于是随手打了一个快一百行的代码,在此期间 fsy 非常不相信我一道签怎么做这么复杂,但直到我的代码他怎么都 hack 不动才能承认代码是正确的,一发直接过了。

再看一下榜发现 E 和 F 过的也挺多的,然后就让 fsy 去写 F,注意到将等式转化之后就变成了很多独立的二维数点问题,实现查询和插入就行了,然后就随手写了一个树状数组直接过了。

E 我和 fsy 还在讨论答案是否有凸性的时候 tzq 直接一针见血地指出倒序维护就做完了,然后写了个简单并查集并通过了样例,然后爽吃罚时。不过他很快注意到 i 指针没有同步更新,于是将其更正后很快就又吃了一发罚时,不过最后还是成功通过了。赛后发现其实 E 过得还挺快的只花了 18min。

于是我就去写未完成的 C 了。注意到 C 和种树做法本质相同,于是就凭借着当时我 AC 那题的记忆直接写了。最后调了二十分钟终于过了样例,结果超时了。我还脑抽认为 for(int i = 1;i <= n;i ++)s[i] = (s[i] == '0' ? '1' : '0') 复杂度是 \mathcal{O}(n^2) 的直接把这个形式改成了 += 结果还是超时。我终于意识到可能是死循环了,tzq 花了十分钟给我造了一个 hack,然后我对着这个 hack 调了半天才发现我的循环条件中 && 写成了 || 于是导致死循环。最后还是有惊无险地过了。

最后再让 tzq 调 B,结果他只花了 8min 就调出来并过了,唉失策了本来应该让 tzq 先写 B 的。

最后剩下 3 道榜上通过人数在 1 \sim 5 人之间的题,结果两个队友一个去写 J 无人通过的期望题,一个去写 G 超级大计算几何题,并且劝 tzq 回去做 H 根本劝不动。实际上赛后 H 就是通过人数最高的,xf 那一队就是靠做 H 完成反杀的。

然后理所应当的后面做出了零个题目,在此期间 fsy 的代码竟然通过了 G 题样例,不过看代码也知道他只是幸好踩到了 \frac{1}{2^4} 的概率而已(样例共 4 组,每组只会输出 Yes 或 No)。

最后通过 ABCEFI 遗憾离场。但其实也不遗憾了是高一所有队中通过题数最多的,甚至还超过了长沙市一中 2 队。

赛后得知金牌线应该是低罚时 5 题,也是轻松拿到 Au。

比赛结束后去旁边的立心食堂吃饭,反正我们队三个人都吃不完,虽然我不知道他们是吃撑了还是菜确实不好吃。

最后就坐大巴回长沙了。注意到这一时长也有 6 个小时我就把我手表剩下一半电量全部用到提供热点了,但即使有网网也是真差啊连个 rngdle 都打不了。

后面直接打开心消消乐结果这个难度突然史诗级增强直接被卡关了,甚至 tzq 在 149 关尝试了 6 次直接把体力用完了也没打过,然后我们就没有离线游戏了。

总结

成绩还算可以,但是策略还是没有安排得当,没有跟榜做题。除了 A 剩下五题切的时间都非常靠后导致是六题末位,最后三个人没有主攻一道难题。不过还算过关了吧应该不会被教练骂了。