NOI 2024 游记

Sparkle_ZH

2024-07-22 23:08:04

Life & Travel

前言

NOI 2023,忘开 long long431 \rightarrow 401,Cu rk3,差 6 分银牌。

联合省选 2024 Day 1, 因为 abs(int128) 导致签到题 100 \rightarrow 0,掉出队线。

Day 2,面对不擅长的 A 题苦思冥想三小时,最后却也只能拼暴力。

总分算下来,我几乎是压着线进入了 E 队。感谢上天给了我继续的机会,去圆去年未完成的银牌梦。

启程

7 月 11 号左右就到达了重庆,跟着 nfls 线下集训。接连两场模拟赛没上 100,再加上 UNR 发挥失误遗憾打铜,心情差到了极点。

16 日下午到育才报道,发现室友们都肉眼可见的亲切。宿舍条件很一般,空间比较狭小,还有各种小虫子。

晚上去自习室随便写了道题,后来因为太热了就先回宿舍了。晚上睡得挺晚。

第二天早上起来去参加开幕式,印象比较深的就是 dzd 的讲话,“我被全国人民吊打!”

下午试机 + 笔试,简单测试了一下机器的性能。登进笔试系统后发现答案已经选好了,再一看好像还是对的,然后就听到工作人员宣布“配置出了一点问题,笔试晚 15min 开始”,比较逆天。

于是我就把原本的窗口保留了,没有刷新。等到笔试再次开始后另开了一个新窗口,自己先做了一遍,又检查了一遍,又和答案对了一遍,没啥问题就交了。

后来才得知下发的不是标准答案,而是去年同考号选手的答案,题目还和去年一模一样。算了算发现我今年和去年的考号好像没区别,那我考场上拿到的岂不是去年自己的答案,被去年的自己救了(

晚上去找对面寝室的大佬们交换徽章,比较可惜的是 wzk 的徽章已经换完了。回来以后想到明天就考试了,压迫感顿时就上来了,大概到了十一点多才睡着。

Just Remember 19

时光荏苒,小 S 和小 Y 也会散去。而我们和一个人保持连接的方式就是记住,仅此而已。

早上起的很晚,匆匆忙忙吃完早饭后就已经七点四十几了。和 hz 一起出发去考场,他表示很担心自己打铁,鉴定为一眼假。

进考场,发现自己的座位是离卫生间最远的那一片,输。望着大屏幕的时间一点点接近八点,我很明显地感受到心跳加速。

三分钟。我开了一瓶矿泉水,努力让自己恢复镇定。

两分钟。去年 NOI 的阴影再次浮现在脑海里,我感到肚子有点微痛。

一分钟。我想到了一直以来的努力,做过的那么多道题目,打过的那么多场模拟赛。

事到如今,我还有什么理由不自信?

三秒,两秒,一秒。比赛开始!

开考先把三题大致浏览一遍,目测一下 A 是类似 NOI 2022 的数据结构题,B 可能是个 adhoc,C 是不可做题。

先开 A,很快陷入了痛苦的低头想题,周围陆续响起的键盘声让我很慌。我把题意转化成二分图是否存在完美匹配,此时脑子里全是 P5787,但是想了想也不太会维护。抬头时发现已经过去一小时了,附近的键盘声也慢慢平息了下来,是不是已经人均切 A 了?

省选 Day 2 的失败浮现在我眼前,直觉告诉我拼暴力比想正解优很多,于是暂时搁置了 A,先去开 B。看完题后心想这不 拉面比较 吗,JOISC 原题,仔细看了看才发现得把询问打包。一个很直观的思路就是单败淘汰赛,每次淘汰掉一半的人,不断递归下去,这样就可以做 t = 20 了;又想了想发现可以在降到 n 很小时暴力,结合一下 n = 1000 大概就有一半的分了。顺着这个思路,我继续延申下去:淘汰阶段每次淘汰掉一半的人一定是最优的吗?能不能将 n 个人分成 \frac{n}{k} 块,对每个块内的 k 个位置暴力淘汰,最后总共只留 \frac{n}{k} 个人?

发现可以直接 dp 出最优决策,考虑每次枚举块数,然后再平均分配块长,这样就是 O(n^2t) 的了。写完后就挂在后台跑了,只要在比赛过程中能跑出来就行。利用这个时间,我去又把 A 的 60 分拿了,再把 B 的框架大概实现了一下。

跑完后发现寄了,代价算错了,只跑出来了一个很劣的策略,不过改改能过 k = 9。我不能再承担如此之长的时间代价了,于是就硬着头皮把 B 的 78 分写完,中间还写挂了几次。此时比赛已经过去了三个小时,而我却只有 60 + 78 + 0,感觉很危险。

赶紧开 C,很快发现暴力和 A 性质都是简单的,先拿了,大概写了半小时。然后纠结了一下是去写 A 的暴力二分图匹配还是 C 的更高分,最后选择继续开 C。想了半天,忽然发现是不是暴力得聪明一点,直接一位一位贪就能做到 O(n ^ 2)。性质 B 看起来也很简单,这样是不是可以64 分了!只剩一个小时了,赶紧开始写。

写完了后却发现过不了样例,调了半天仍然没有结果。此时距离比赛结束只有 20min 不到了,调到了最后 1min 还是没调完,最后紧急改回了 20 的版本,刚改完就宣布收卷了。

感觉彻底寄了,只有 60 + 78 + 20 = 158。复盘一下发现出了挺大的决策失误,但凡再去想想 A,或者重写一遍 B 的 dp,甚至是去苟一个 C 的 B 性质,是不是都比冲 C 的 O(n ^ 2) 更优呢,实力没到的分还是不要拿比较好。

出考场发现 hz 估分上 190 了,又问了一圈发现我 JX 垫底了。得知了 A 的做法后直呼弱智题,而我 B 的思路也是正确的。看了看群里的消息发现人均 200+,Day 2 翻 50 分不太现实,是不是已经结束了,很难过。

三点去查分,果不其然一分没挂。hz 反向挂了一些分,直接登顶 JX rk1,太牛了。了解到同寝室的 C 类选手 wzh,虽然 C 有 64 分,但 B 题因为交互库出锅而分数很低,非常可惜。对面寝室的选手都在 [170, 200] 的范围内,果然还是我实力太菜了吗。

剩下的一整天都在悲伤与懊恼中度过......

重整旗鼓

一觉睡到九点多钟。下午要去社会实践,于是上午在寝室随机地看了看一些板子。听说到银牌线应该不超过 180,感觉还是有希望翻的。

下午去三峡博物馆参观,因为解说实在是太慢太无聊了,于是决定自己逛。拍了很多照片,心情好了一些。

晚上随机写了两道 *2600,然后看了看模板。大概复习到无向图 tarjan 的时候有点累了,于是没看有向图 tarjan 就上床了(伏笔)。熄灯后一直睡不着,满脑子都在想 Day 2 如何翻盘,非常紧张,压力很大。

想起了自己先前立过不拿银牌就退役的 flag,没想到 Day 1 的 trash 发挥之后,眼见着就要变成事实了。回顾了一下这么久以来的 OI 生涯,想到了很多帮助过我的人,关心我的人,想到了自己的家人、教练、曾经的学长。我必须要翻盘,无论是不是为了自己。

辗转反侧到十二点多终于睡着了。

The Life You Want 24

时光走过,小 C 和小 Y 会再遇见。回首往事,大家都过上了各自想要的生活。

早上五点多就醒了,调整了一下心情让自己再次睡着。第二次醒来发现已经过七点了,赶紧吃完早饭进考场。

此时此刻看着大屏幕上的时间,忽然感受到一种解脱:这或许是我花在 OI 上的最后五个小时了。不那么紧张了,只是希望比赛赶紧开始。

开考先看 A。感觉是推性质题,但是在草稿纸上画了半天也没有任何思路。此时忽然有了一个思路:枚举 i,只需关心 \lfloor \frac{j}{i} \rfloor 的奇偶性和 j \mod i 的值,那么考虑计算对于 0 \leq j < i 的合法 (i, j) 对数,这个显然可以递归算。但这时候问题来了,如果 m 不是 i 的倍数,剩下的边角块我不会算。直觉告诉我也可以用一些方式去递归,但是想了半天仍然没有任何思路,此时已经过去将近一个小时了。

难道要重现 Day1 的悲剧了吗?抉择了一番还是决定去打 O(n ^ 2) 暴力。途中忽然发现答案数是不大的,所以可以直接搜索答案,这样就是 O(ans) 的了!什么诈骗题。直接用 DFS 实现就有 85 分,稍稍优化一下还是没能在 selfeval 上过更多分,不过后两个点都只跑了 6.8s 左右,只能祈祷评测机快一点吧。这时只过了一个半小时,感觉翻盘还是有望的。

接着开 C,A 性质似乎只需要缩点就好了,B 性质感觉在强联通分量里瞎搞搞可能也行。写了半小时终于写完了,果不其然地没有过样例二。手造了好几组数据都没卡掉,只能硬着头皮对着 n = 1000 的样例二调。调着调着发现原来是缩点写挂了,我居然把有向图 tarjan 写成无向图 tarjan,但是此时我忽然发现我不记得有向图 tarjan 怎么写了!昨晚恰好是复习到这里停止的!自己在现场推了半天,写了好几个版本,可是全都寄了。只有不到两个小时了,我彻彻底底感受到了绝望,但是心底似乎还有一种力量促使着我坚持下去。

抉择一番之后决定开始乱搞,把假掉的 tarjan 反复套了几层,又拼了一些暴力 check。拿 selfeval 测发现只有 20 分,可我没时间继续了,我必须在仅剩的一个多小时内写完 B 的暴力。

看完后瞬间秒了 O(n ^ 3) 的暴力,而且似乎常数很小,说不定能过 5000 的点。接着发现链加 l_i = r_i 是很好做的,赶紧开始 rush。

三十分钟。我已经写完一大半了,坚持下去是不是还有救?

二十分钟。死活过不去 selfeval,无论怎样调试仍然无果。

十分钟。心跳开始加速,我不会又要败给时间了吧。

三分钟,两分钟,一分钟......最后再试试是不是这里写错了......

比赛结束了。一切已经结束了。只有 85 + 15 + 20 = 120 分。退役了。

刚出考场就听见 hz 跟我假,“我今天寄了”“我肯定没你高”,一问之下才得知他有 135 分。

心情很差,不想了解其他选手的分数了。果断开摆,摆到三点左右去查分。发现 C 的乱搞多了五分,但是 A 和 B 都没能冲过更多的点。仔细一看,发现 A 的后两个点是 WA 了而不是 TLE,我尝试性地给代码开上 long long,发现就 95 分了。好,我又亲手葬送掉了十分。

心情跌落到了谷底,不仅银牌无望,还有可能 JX 垫底。再也不想看到任何与 OI 有关的事情了,连家长和教练的消息和没心思回了。

依稀记得去年我没有参加 NOI 嘉年华活动,事后比较后悔,所以今年本来挺想去的。可事到如今,我却再也没有心情参与这种大型聚会的活动了。

晚上出榜,发现只有 hz,yk 和 hzx 上了 400 分。令我震撼的莫过于队长 lyf 和去年银牌的 wzk 都只有 380+, 以及 C 类的 wzh 也没能在 Day 2 证明自己,为这些得分低于实力的选手深感遗憾。

不久之后银牌线也统计出来了,409 分。复盘了一下这次 NOI,从 Day 1 A 的没想到哈希,B 的 dp 写挂,C 的没调出 64 分,再到 Day 2 的 A 没开 long long,C 的缩点写挂,与整体上的抉择失误,似乎略得一二就能银牌。但此刻我已经无感了,这三年,我失败了太多次,以至于失败本身都似乎成为一种必然了。

熬夜与 hz 打双人小游戏,大概一点多钟实在太困了就睡了。

尾声

第二天下午去参加闭幕式,见证了许多平时模拟赛远超自己的高手也只有银牌、甚至铜牌,看到了许多金牌实力的选手没有取得满意的成绩,心里想了很多。颁奖之后有些实在待不住了,于是就和 hz 提前回了寝室。

剩下的一整天都在摆烂中度过。吃完饭回到寝室后发现 wzh 已经不在了,后来才得知他提前回去了,心中颇有感触。一年一度的 NOI 盛会,就这样结束了?

第二天早上七点半起来收拾行李赶飞机,和室友道别之后就和教练一起离开了宿舍楼。上大巴前,我最后回头望了一眼身后的育才中学——这里葬送着我破碎的银牌梦。

结语

魔幻的 NOI 2024 结束了,伴随着结束的还有我初中三年的 OI 生涯。三年以来,我所追求的无非是一次让自己足够满意的成绩,一份给自己的交代,或许是一块银牌,或许是一次省内 rk1。可是我失败了,又一次失败了,为什么我总是失败?

初一,CSP 2021 的考场上,我因为忘删 A 的调试代码而痛失一等,更痛失了进入 NOIP 的机会。我释然了——沉溺于六年级时的那点微薄成绩,每日无所事事却又狂妄自大,失败在所难免。

初二,NOIP 2022 的考场上,我因为 A 题 n, m 打反,从队线挂成二等,直接与省队无缘。我也释然了——在实力不够的情况下强求省队,可谓是操之过急。

初三,联合省选 2023 Day 1 的考场上,我在 A 的代码中写下 abs(int128),因为本地机和评测机的语言版本差而 CE,将 NOIP 的优势转为巨大的劣势。但别人不知道的是,我在场上特地花了将近两小时专门检查这题,从写暴力对拍到仔细阅读源代码,甚至连造数据的 gen 都写过好几个版本。我想我已经足够稳扎稳打,却还是因为一个我闻所未闻的语言问题而失败......我无法与这次的失利和解——或许唯一的解释是运气不好,可难道一切的努力在运气面前都不值一提了吗?

如今,面对着自己甚至不如去年的 NOI 成绩,我再也难以释怀了。无数个失败的镜头从我眼前闪过,每一次的抉择错误,每一次的时间不够,每一次的惨烈挂分,实力吗?运气吗?心态吗?策略吗?或者是别的什么东西吗?我不知道,我找不到一个合理的解释。

也许,是时候歇息一会儿了吧。