NOIP 2024 游记 - What is the Miserable

· · 生活·游记

You are the Miserable - t+pazolite

我们所可以自慰的,想来想去,也还是所谓对于将来的希望。

希望是附丽于存在的,有存在,便有希望,有希望,便是光明。

—— [十二省联考 2019] 希望

前记

我们的世界是一个大转盘,分为两半,一半是学校,一半是家。每一半上有一个洞,学校那半的洞叫考试,家那半的洞叫作业。我就是转盘上的一个弹珠,在转盘的两半来回旋转,晕头转向,没有希望。有时掉入了那两个洞中,我会想要不从转盘底部出去了结这一切,可总有人把我拿出来继续困在转盘之间。当时以为,这就是最痛苦的事情了吧。

这一切直到 OI 的到来,才有所转变。

每天泡在机房里让我忘记了作业的烦恼和考试的忧伤,训练时写着整齐又优美的代码和一片片的青青草原(AC),闲暇时看着窗外,吹着凉风,听着鸟鸣,心中的烦恼烟消云散。

然而,OI 之路也不是一帆风顺。

[20231026 日,北京海淀区,北京凯文学校,CSP-J 2023 的赛场上]

看到 A 题的我:“哇,这不就是一个暴力吗?”然后开了 10 ^ 9 大小的数组。

看到 B 题的我:“哇,这不就是一个 dp 吗?”然后打了乱七八糟的东西。

看到 D 题的我:“赶紧输出 0 骗分。”丝毫没有看到“如果不存在符合要求的旅游方案,输出 -1”的字样。

结果:\textcolor{#ff0000}{0} + \textcolor{#ff0000}{0} + \textcolor{#cc0}{50} + \textcolor{#ff0000}{0} = \textcolor{#f53100}{50}

于是,人生第一场 CSP 以惨败(只有三等)收尾。

[20241026 日,北京海淀区,中国人民大学附属中学,CSP-J/S 2024 的赛场上]

一年后的同一天,我再次站在 CSP 的考场上。

J 组的 A、B 两题没有难度,迅速切了。顿时信心满满,认为这次 350+ 胸有成竹。

看到 C 题,我想:啊?这不会是数位 dp 吧!想了半天没想出来。遂打了 n \le 20 的一个点和两个特殊性质。

D 题直接打 r = 1 的一个点结束比赛。于是总分 \textcolor{#0c0}{100} + \textcolor{#0c0}{100} + \textcolor{#7acc00}{70} + \textcolor{#ff0000}{5} = \textcolor{#a3cc00}{275}

感觉这次 J 组还是比较失败的,面对 C 题的两个特殊性质提示竟然没有想到分类讨论,看来还是平时想题不够透彻的结果。虽然拿到了一等,但拿到了又怎样呢?学了 20 个月的 OI 的人拿 J Au 不应该是很简单的事吗?感觉太不应该了。

比赛来到 S 组。估计是我近视的问题,A 题把“尽可能少”看成了“尽可能多”,发现样例不对也每发现问题就开始自己发挥想象力篡改题面,具体可以看另外一篇 CSP-J/S 2024 游记 - On the Edge of the Gold。最后居然把代码写成了接近于正解的样子,救回来 100\text{pts}

B 题的前半部分想出了二分,但是由于后半部分打不出线性甚至带 \log 的算法,于是只好 \mathcal O(nm) 结束(而且做法还假了)。

后面两题竟然想都没想就暴力。于是满怀信心地离场了。

估分:\textcolor{#0c0}{100} + \textcolor{#a3cc00}{60} + \textcolor{#eb5e00}{20} + \textcolor{#eb5e00}{16} = \textcolor{#d6ab00}{196},看起来 Au 和 NOIp 稳了呢。

梦熊数据:\textcolor{#0c0}{100} + \textcolor{#e08700}{30} + \textcolor{#eb5e00}{20} + \textcolor{#eb5e00}{28} = \textcolor{#d6ab00}{178},NOIp 也有戏。

成绩:\textcolor{#0c0}{100} + \textcolor{#eb5e00}{20} + \textcolor{#eb5e00}{20} + \textcolor{#f53100}{8} = \textcolor{#e08700}{148}。NOIp 分数线:174。Au 分数线:175。不用我多说。

自那以后,我都在想打 OI 有什么意义,因为场上没有仔细思考而没有进联赛、没有直接拿到学校直升高中名额应该是最痛苦的事情了。不过,既然没有进 NOIp,为什么不再拼一把呢?

(正文开始)

NOIp 2024

于是,我每天坚持中午去机房一个小时,下午上 1 \sim 2 小时的信息课,晚上还要再集训两个小时,只是为了不辜负一年来的努力,不留遗憾。

Day -18(2024/11/11)

复习计数问题。

顺便摆上一些常用公式以便复习。

感觉 [六省联考 2017] 分手是祝愿 是很好的求期望思维题,值得一做。

Day -11(2024/11/18)

树形 dp 的综合应用,学了不少新东西,顺便打了 e-DCC 的板子。顺便写了一篇题解。

又学会了除了普通 hash,字符串 hash,sum hash 之外的另外一种哈希方式利用 \log 函数进行 hash(见此题)。

Day -10(2024/11/19)

状压 dp。预处理和位运算把我快压吐了。

Day -8(2024/11/21)

非常爽的区间 dp,方程好推又好写。

不过话说我为什么会打蓝题而不会打绿题啊。

Day -3(2024/11/26)

最后的几天恶补图论,包括以前悬而未决的差分约束和分层图,第一次知道差分约束能不用 SPFA 打

Day -1(2024/11/28)

赛前把这道咕了三个月的题打完。

Day 0(2024/11/29)

什么都没干,颓了很久游记。考前放轻松吧,一方面不要因为没进联赛而太难过,另一方面因为我一定要在明天下午打一场全真的 NOIp 模拟赛(2023 年的题目),所以我希望取得好成绩鼓励一下自己。

Day 1

终于,这一天来到了。

老师突发奇想让我们在上午打一场模拟赛,可是下午还要打 NOIp 模拟,就抱着随便的心态打了打,不想消耗太多脑力。打了 232 \text{pts},满分 300,全机房第二,但是算上去 NOIp 的六个人排名也就第八。还是我太菜了。

下午 13:00,下载好 PDF 和样例压缩包,准时开始考试。

有一位同学问我为什么如此认真,非得今天打不可。我说,因为这不仅是模拟赛,更是我的圆梦赛,不能因为没晋级就不再继续向前,所以非在考试当天严格按照考试规范打不可。

准点开题。虽然是去年的 NOIp 题目,但是我并没有看过。A 题 dict 看起来是比较简单的字符串模拟题目,但是第一遍我没读懂题。于是先打着,因为需要用 sort 就用 char[] 来存字符串,但是又需要手写比较函数,我就拿指针来写,写了 20 分钟才写出来。13:20 代码写出来了,一测 #2 样例发现题意理解错了,于是又改到 13:27 才过。

B 题 tribool 虽然题意很好理解,但是并不好做,初步想的思路是算出每个 x 与哪个变量或者常量(TFU)相等,再用类似于并查集的路径压缩简化变量之间的关系。由于思路我自己都难以理清,写到 13:55 才写出,样例 #1 也没过。调了点小错后 14:04 样例过了,然后从大样例 #2 的第三组数据就没过。发现变量之间的关系可能成环,就推了很久发现一个环之间有奇数个负关系就需要填 U……可是真难调,到 15:04 刚刚把 #1 #2 两个样例过掉。静态查错开始,15:09 时发现输入每条语句的 for 循环把 m 写成了 n……无语。调到 15:16 时不想再调了,于是转而看 C 题。

C 题 expand 题面看不懂,于是骗 n = 1 的分走人。

接下来做 D 题 run,计划 dp 骗分,方程比较好想。但是时间接近 16:30 也就是下课时间,于是只好草草收尾然后收卷。

最后评测结果:\textcolor{#0c0}{100} + \textcolor{#d6ab00}{40} + \textcolor{#ff0000}{0} + \textcolor{#ff0000}{0} = \textcolor{#e08700}{140},在 2023 年是二等。虽然成绩在我预料之中,也确实不是特别好,但是能以自己的方式和神犇们同台竞技,已经是最大的满足。

后记

回到家里,望着作业,又是一阵叹息。除了每天花在 OI 里的时间,每天都在学习,被家长催着搞 whk,这条黑暗的路望不到头。所以,NOIp 只拿 2= 又算得了什么呢?除了奖之外,你的朋友不会被你忘记,你的老师不会被你忘记,你的知识不会被你忘记,你获得的快乐更不会被你忘记!

也许,没有希望才是最大的痛苦。

至少,我在 OI 这条路上还有希望。