NOIP 2025 游记

· · 生活·游记

赛前

-5th week

井冈山,为了 CSP 给停掉了。这周刷了一些图论 Tarjan 什么的。

-4th week, -3rd week

开始停课:语文、英语、物理、体育、自习等停掉。

这两周虽然停了课,但是在刷教练给的紫题题单,感觉太难了,没有动力。

-2nd week

突然从同学那了解到学长董宇轩整理了一个主要是绿和蓝的分专题题单(这个),我感觉难度适中,能够找到动力和成就感,于是决定这周把题单中有价值的题目都刷一遍。事实上,也确实有所收获。

周五教练带我们去吃饭了,很好吃。

-1st week

刷模拟赛。

周二刷了 MX 一个模拟赛,怎么推也推不出来,实际上题目不难。突然感觉非常无力。当天痛定思痛思考原因,总结了一条:不要卡在玩样例里出不来,没有主动思考,仅凭找规律是做不出来的,一定是先有一个想法再去玩样例验证。

后面几天根据这条经验,又找回了一些自信。

最后一天,把所有的模型和 trick 都整理起来过一遍(这篇文章)。

比赛当天

早上起来精神还可以,开车去的考场,在车上又看了一遍整理的技巧。

考场已经很熟悉了,不必多说。

接下来是噩梦的开始。

赛时

下面,我在文中尽量还原考试当时的心态,尽量不加考后的评述。

T1 很快就秒了,因为前几周练了不少贪心,而且此时脑子很清醒。40 min 通过所有样例,自信满满。

来到 T2。突然想起来,前几天还在琢磨背包的性价比排序为什么是错的,因为模拟赛做到了一个特殊的倍数背包问题。理解题意花了一会。

下面开始在草稿纸上模拟。首先,肯定是要找到一个条件,使得这个性价比策略是错的,这个目标是比较明确的。大约二十分钟后想到条件:前面选了 m-1 个之后,刚好差 1 填满背包,于是把更优性价比的 2 给跳过了,只能选择后面的一个 1。

接下来,就卡住了。本题肯定 DP,状态的设计应该是“前 i 个物品,选择了 j 个为 1,其他为 2,合法方案数”。问题是,怎么在转移里面把刚刚的条件体现出来呢?你不断往背包里加东西,你需要维护“按照性价比排序后刚好加到 m-1 的位置在哪里”,这怎么搞???

于是去看了 T3 和 T4。T3 竟然出 mex 这个我们天天吐槽 MX 出的东西,玩了一下发现似乎有规律可循,就是在子树中尽量 0123456…… 都集齐,憋个大的出来;但是如果这么做会带来比憋个大的更大的损失,那么就在某个下属子树里面重新搞 0123…… 。

不过,T3 放在这里肯定有它的道理,还是先不看了。

T4 观察到部分分依旧非常细,一个 DS 统计类题目。尝试打一个“并查集线段覆盖”,又因实现太难,而且想打 T2,中断不打了。

我想的是,T2 我凭什么就做不出来?我的想法是,一定要保住一题半的“基本盘”,再去打后面的暴力。模拟赛的经验告诉我,后面的暴力分都非常碎,你一点点累加起来终究还是不够。

T2 下面做了好几个尝试:

第一,列式子。我们关心的是三个东西,价值分别为 x, y, z,权值分别是 1, 2, 1y 被跳过了而选了 z。需要满足:x < \frac{y}{2} \le z(按性价比排序),且 x + z < y。所以呢???推出了这个东西又能怎么样呢?这两个式子怎么转换也看不出什么突破口。

第二,看特殊性质。我看特殊性质的目的,是推出正解。m = 2n-1 是肯定选对,直接 2^n。所有价格都相等,那也肯定选对,2^nm = 2n-2,就是说只用考虑一个 1 的情况,大概是把这个 1 的价值和性价比最低的 2 比较一下,还有一些小细节就到代码中再考虑了。价值超过 5e8,就是所有的 2,性价比都比所有的 1 低。其实只要把最低性价比的 1 和最高性价比的 2 比较一下就可以了。

但是这对我推正解有什么帮助啊???

想这些东西,貌似又花了我宝贵的 1h。后面卡在那里,又在那想。

等到倒计时显示 1h 45min,我才知道来不及了。

我跟自己说,没问题,静下心来,稳稳地打暴力。但实际上我没法做到心态非常稳,已经有点慌乱了。

打 T2 的暴力,首先打小数据暴力,结果实现到一半,思路不清晰,感觉有非常多的边界情况要考虑,于是暂时放掉。于是去打 m = 2n-2 的情况,悲剧的是我怎么调都调不出来,思路愈发混乱,调到最后就是有的行跟答案相差 1,终究没有排查出来。

考完后才发现,原来是我的自定义排序写挂了。由于除以二会导致精度误差,我尝试这么计算性价比:原价乘以(3 - 现价),也就是说现价为 1 时乘以二,现价为 2 时乘以一。问题是,我把 3 减现价写成了 2 减现价。

完了,一切都来不及了。

转而开始打 T3 暴力。调了十几分钟才发现没有把 bitset 清空,好不容易打出 n \le 7

T4 也没时间了。T2 再调,也调不出来了。

考试结束。

一切都完了。

估分 100 + 8 + 8 + 0。跟身边同学交流,没有人打出 T2,这场比赛就是要靠暴力。而我暴力分打得稀烂。

赛后

眼神空洞。

看到洛谷评级,黄紫黑黑。

我开始了我的反思。

我没有料想过 T2 会如此困难。我的考试策略是 T1 T2 尽量正解,T3 T4 尽量暴力。这个策略很大程度上基于去年的题目。然而放眼望去,去年以前的一等分数线都没有达到 200 分。当我看 22 年的题目时,我为什么就不想一下,考场上我遇到这种情况该怎么办呢?在洛谷上我是上帝视角,但考试的时候知道不了那么多啊……

在考场上时太容易丧失时间观念了,看似你没想多久,实际 2h 就过去了。总结一个经验:一道题,能想出来就一定能在 1h 内想出来,思考超过 1h 就是无效思考。

然而,现在总结还有什么用呢。

如果……

如果我能够提前预知 T2 是道紫,死了心,打暴力……

如果我 T2 能想到枚举那个 xyz 的位置,而不是局限于那种传统的状态设计……算了吧,你毕竟之前也没做过这类状态定义的题目……如果我之前能多做一些这种方案数统计 DP 题……为什么之前就没有做过这种啊……

哎,人家都评紫了你还说啥呢,以为自己能做紫题啊。

如果我做了 T2 1h 后觉察到我不可能想出这道题,于是从容地开始打暴力……

如果我对自己的实力有清晰的认知,相信我磕了这么久的题,别人一定也做不出来……

如果我后面的暴力调试得出来,多得 20 分,或许还有希望,因为 22 年分数线是 120,今年可能就 140 左右……结果现在是一点希望也没有了……

这套题给到去年的我,我考出来也就这分数,甚至可能因为死了打正解的心,多拿一点分。所以我多学了一年 OI,从刚能切绿,到能切一部分蓝,这段提升有什么用?

出考场时,我骂出题人。在充分反省了自己的问题之后,我照样骂出题人。

OI 的精髓在设计。我们这些考 NOIP 争一等的人,设计算法的水平都在绿到蓝,而你出这套题,让我们完全不能够发挥我们设计算法的能力。你究竟想要考察我们什么能力?

我学习 OI 的乐趣,我认为 OI 的最奇妙之处,就在于利用算法的工具,通过巧妙的思维转化,破解人力难以处理的大数据问题,这是多么优美。这也是我做题的成就感所在。而今天这套题,我找不到这种成就感。

……或许是我性格执拗,我坚信学 OI 应该贯彻上面的精神,我坚信我有能力破解难题……

这种执拗给我带来了很多。

比如,我坚信只要我去想,所有知识可以找到规律,因而我从小学习就刨根问底。这种执拗是对自己智力的一种自信,它也是我学习、生活、探索未知世界的重要动力所在。

然而,在某些问题上,是否就是应该放弃?子曰:学而不思则罔,思而不学则殆。当自己的知识没有积累到一定水平的时候,承认自己思考能力的有限性,或许能帮助自己走出无意义的苦思冥想……

终究,一切都无法挽回。然而,遗憾也是青春的一部分。人活一生,必定要体验喜怒哀乐各种人类情感,这样的一生才是充实的啊。

是为 NOIP 2025 游记。

未来规划

本次考试,不是实力问题,而是发挥问题。因此,我打算高三再战。

这段时间肯定是要回归文化课了。要补回停掉的一个月的课,也要花不少功夫。

我的社长任期也就到下学期中了,对社团有什么想干的大事也要赶紧干。

那么,我什么时候来搞竞赛呢?到明年这个时候停课肯定不行了。

……

竞赛能力摆在那儿,未来一年主要是保温。周六晚上 AtCoder 要按时打。此外,如果有空闲的自习课,也要刷一些题目。未来四个月,也要坚持打 USACO。

社团的事,要坚持每天利用碎片时间操心一下,比如中午饭后。

本学期二段考前,空出来的竞赛课要主要留给文化课,争取利用这个时间把文化课拉到正常水平。记住,这是你用宝贵的竞赛时间换来的。二段考后,就要尝试多分配一些时间到竞赛上。