candy 比 club 简单,坏消息呢?【NOIP 2025】

· · 生活·游记

前情提要:笑点解析:我不会 club 【CSP-S 2025】

day -11

到了【数据删除】上课。

day -10

在虚拟机上装 Arch,没成功。炸毛。

day -9

白天讲的是串串。串串好恐怖。

回去参加了体测,中考过后就没练过了但是退步好像也没有想象中那么多。跑完 1000m 还是很恶心很想吐。

机房网速飞快,于是 20min 装完 Arch。严肃颓废捣鼓一晚上之后 $sudo rm -rf /* --no-preserve-root 撤离。

day -8

模拟赛因为随机数据太水了,导致假的贪心直接 30 \rightarrow 90,喜提 \operatorname{rk} 1。不会做的题写了个 mt19937 rnd(time(0)) 成功忘记 #include <ctime>。LemonLime 的紫色看着很喜庆。

晚上严肃参加了【LGR-254-Div.4】洛谷入门赛 #41 · 曼波,池沼题面,写了 50min 才 AK,最后 \operatorname{rk} 119 / 6324 \operatorname{pts} 遗憾离场。

day -7

周六。

手机还在学校里面,于是下午回办公室捞。然后周天被紫菜很难绷。不好评价。

day -6

被拉回去上晚自习紫菜。

CF div.1 + div.2 只会两道题,我是超级大笨蛋。

day -5

模拟赛,状态不好,很颓废。

@The_Chariot 模拟赛 1h 强势场切 T1 *3200 之后撤离,疯狂 %%%。

day -4

模拟赛,状态不好,很颓废。

找了让自己不颓废的方法是狂刷毒瘤数据结构。于是强烈呕吐。

找了到反悔贪心的水题打算写题解,结果发现脑袋里全部都是雾的写不出来。我讨厌贪心。

很累但是不知道哪里累。

day -3

写了一天的题,感觉状态好了一点。

day -2

信心赛。绿色 T1 不会。64 + 100 + 70 + 30 = 264 \operatorname{pts} 喜提 \operatorname{rk} 2。

在 CSP-S 2023 中,刚学 OI 不到一年的我孤身一人从成都来到绵阳,在赛场上乱搞 n \leq 8 通过了 lock,并且在只凭普及组算法纯打暴力的情况下离 SC 1= 线差了 5 分,同样的 -J 也差 5 分,在初二拿下了自己的六级钩。当时以为自己是天才。

在 CSP-S 2024 中,又学了一年变傻的我在别人看大样例知道是众数切出 duel 的情况下,不知道是不是没带脑子的写了一堆优先队列之类杂七杂八很 fancy 的东西成功挂掉。那道题多少分已经忘了,反正严格小于 70。那一年 detect 拼尽全力贪心修不出来的情况下写出了 O(2^n \times n^2) 好像还带了 \log 的大分。至今难忘。

在 CSP-S 2025 中,坚信着这次一定要成功对的我在开 club 之后狂想 dp 状态,拼尽全力只能想出 O(n^3) 的情况下先开了 road,并且在最后 road 卡常稳了之后依旧没看出来 club 怎么做。面对贪心我束手无策。

在 NOIP 2025 前,在我保存有记录的 9 场模拟赛中仅有 4 场切出 T1。其中包括不是人的第 n 天 2500 当 T1,第 n + 1 天 3200 当 T1。

我已经患上了彻头彻尾的 T1 恐惧症。

day -1

靴紐が解けてる 木漏れ日は足を舐む

息を吸う音だけ聞こえてる

貴方は今立ち上がる 古びた椅子の上から

柔らかい麻の匂いがする

可以去读我给校报投的稿:「About Yorushika & "Say it"」。

写了一天板子,然后水谷水谷。帮机房里的同学调出了一个小时没调出来的动态开点线段树,说明我还在线。

不太清楚现在的心情是恐惧还是期待,亦或者释然。我只知道这是我的第一舞,也有可能是最后一舞。回首向过去的时间线,付出似乎很多,好像是辜负了就 over 的结局,但是我到底能赢吗,我不知道,我怎么知道。

day 1 (11/29)

起床,洗澡,收拾东西出门。

大概 6:50 到了 cdqz 的 gx 校区,离我的初中很近的说。见到了同校的几位和初中同学。NOIP 要加油捏!

大概 7:05 进了机房,并不允许提前打板子。严肃罚坐。

知道了考试开始和结束的半个小时不能上卫生间,我要以为在坐飞机,那我怎么找 idea(哭)。电脑的系统时间和 CSP-S 的一样慢一分半左右,不过无伤大雅。压缩包的密码是 !noip@Nov29,2025:dream,真好啊,像做梦一样。想起来的是《不只是场梦》里面的“如果这不只是场梦”。后面证明 NOIP 2025 确实是场梦。

开始看第一题 candy。最开始紧张略读的时候以为只有一组糖果可以选,怀疑这是红题难度。后来发现有多组,发现随便一证就知道肯定是最优的组选多次,剩下组的第一个从小到大选。现在的问题是选多少次,直接取模后剩下的选肯定不对,注意到只有 n \leq 10^5 组糖果,于是对第一个排序后做一个前缀和,减去这些权值后选最优的那组。时间复杂度 O(n \log n),没有任何问题。和红题也没什么本质区别。

我战胜了自己的 T1 恐惧症!

想到这里没有急着写代码,又圆了两分钟之后看了一下后面三题。发现都没有什么很明显的切入点,于是开始写 candy 的代码。9:58 的时候写完过大样例。

我以为这是一个好的开头,没想到是美梦的结束。

sale 的题目背景居然是承接 candy 的,query 肯定是一个恶心的数据结构,看到 n \leq 5 \times 10^4 和 q \leq 1024 肯定是毒瘤。发现自己最有些 idea 的是 tree。想了很久的 dp 没想出来,于是尝试变想变写。这肯定是错误的决定,写了半个小时发现写不出来又写了假的贪心。最后发现自己投入的无用时间成本有了一个小时,便直接丢掉看了 sale。肯定是个计数,但这种又要排序又有 w \in \{1, 2\} 这种很有 trick 在里面的东西让我完全没有思路。于是对着 n \leq 10 只好打了一个 O(2^n \times n^2) 的暴力枚举加背包。因为太久没有写了所以背包修了至少半个小时。

好像已经 ~11:15,只剩不到两个小时于是开始慌了。看 query 想出一个 O(qn^2 \log n) 的线段树暴力做法,赛前教练说新的少爷机 2s 的话应该可以跑 10^9,于是放心写了,最多十分钟写完。

最后补 tree,退而求其次的想了状压 dp,却发现复杂度算不对状态也不好转移。快到 12:00 写了 O(n^{n + 1}),这个复杂度应该不用解释了。12:30 上不了厕所了,面对这是一场绝望的暴力竞赛,在 candy 的代码里写下了一直想写的《下等马》的歌词。

一身素青纱

草柄当头花

牵起我下等马

绣花蹄子脏了我来擦

系好铜钱挂

鞋底不沾沙

这江湖笑我傻

竟不懂我三分拙劲破天下

本来打算打得好才写的,这样就是屌丝逆袭的意味。结果是 loser 的遗言,于是很绝望。

最后 15 分钟,肯定是写不出什么了,但是 candy 测了几个边界发现没有判断选择过多导致变负,大样例好水。及时进行了一个修正。

最后 5 分钟,很焦虑的坐着,翻看着看过无数次却挖不出来的特殊性质。

结束了。没有铃声,只有监考员的几声“草稿纸收上来”“把电脑上的标签撕下来带走”“手机手表带走”,脑后却是无限的寂静。

突然就嘈杂起来了,周围的人都在抱怨,杂乱的思绪瞬间被缠得更乱了解不开,像是下水道里堵塞的头发。

不怎么能面对这样一场正式比赛的 100 + 24 + 8 + 25 = 157 的成绩。学习的算法似乎毫无用处,能做的却只有两年前的自己就做的到的暴力。我该在哪里停留?我问我自己。

走出考场发现大家都不理想,稍微有些许安慰。高一届很厉害的学长都说只有 100 多分。谢谢你捏 CCF,毁掉了我的第一场正式比赛。

After

教练请我们吃了开封菜,很好吃。

和 @The_Chariot 一起沿着绕城绿道走到了环球中心。在楼顶的咖啡坐着无所事事我就回了。他去看了《鬼灭之刃》。

至于以后?未来?出分?挂分?分数线?

我不知道。我只知道要回去补 whk 然后期中考。

事后记 / Day 5

出分了,100 + 20 + 8 + 5 = 133。

发现 query 的复杂度是假的,真的只有 5 分。但是数据 2 可以跑到 ~2.05s,考虑尝试一波。

然后发现 sale 有两个 700ms 的店 TLE 了,CCF 怎么又变慢了。

躺了一天,人死,期待申诉中。