colgem's NOIP 2025 游记

· · 生活·游记

前情提要

CSP-J & CSP-S 第一轮

2025.9.19 (Day -1)

拿了一天来准备第一轮,仍然很害怕第一轮爆炸进不了第二轮的风险,虽然说理性地看应该这种情况不会发生。

vp 了往年题目,做了 2022 S1 发现在 90 分钟完卷没检查情况下得到了 77 \text{pts} ,看上去很高?

2025.9.20

考场:广州市铁一中学。来到了熟悉的考场门口,或许我过去的很多年里已经数次来到这里了,想必这就是最后一次了罢。我在考场门口拍下一张图片。这里正在下雨,天空是灰白色的,但并不使得这里是昏暗的,如果没有把我淋湿,那么想必这个雨一定是极好的罢。

上午打完 J 对民间答案,74 \text{pts} ,好家伙比我 vp S 组的分还低,感觉有点炸了。听说最后一题是黑题改的,这是何意味。对了另外一个民间答案低至 69.5 \text{pts} ,恐怖。

中午去到附近一个酒店稍作休息,然后看看洛谷深入浅出,其实也看不进什么。看 HL 群,才知道可以在准考证上记录自己的答案,所以我下午 S 组就这样子记录了。

下午打完 S 。You have no eggs! 感觉今年 S 组第一轮题目风格大变了,不像往年有一种远古且数学的感觉,今年似乎有更多知识点之类的东西,居然考了线段树的查询要跨越几个子树这种东西,还有 huffman 树 如何构造,我考前甚至没看这个。

阅读程序感觉有二分之一没看懂,看得有点云里雾里。不管怎么样还是非常顺利地做完了,也没有出什么岔子。根据我记录的答案:

DCBDA DAADD DAACA
aab BBA
aaa BCB
baa BDD
ACBBC BCDAC

对了洛谷民间答案,64.5 \text{pts} 。希望能过。

出分

J 组 77 \text{pts} 一等,S 组 64.5 \text{pts} 二等。民间答案还是挺准的(

CSP-J & CSP-S 第二轮

2025.10.30 (Day -2)

非常好,有可以练习的机会。太久没打了其实我感觉我是相当不自信的,似乎打个红题都很陌生,好在随手切几个题便很容易地可以找到感觉。

打了洛谷十月月赛 III ,切了几道题,同时重打线段树、最短路、并查集等一些很基础的板子,确实找到了一些感觉。我感觉如果不能保证切黄应该有爆 0 的风险,所以我决定把往年 J 的前三题和 S 的第一题都切掉。所以我在考虑正确性的目标下切掉了小木棍、决斗。

作用似乎是很大的,我感觉我能找到思维。

2025.10.31 (Day -1)

只剩一天了!发现了 JuRuoOier 大神有非常好的文章和视频,遂观看,获得了一些考前的注意事项以及头绪,非常好。

最后额外打了个负环和差分约束的板子,学会了,获得了 bfs 经验。

2025.11.1

06:52 起来了。赶去考场。我是 GD-J03262 and GD-S02962 ,欢迎查看我的考场 code (

08:16 到达考场。考场:广州大学附属中学。这地方我 2023 年也来过,旁边有博物馆,空气很好。大概是睡得充足了,感觉精神也不错的,并不犯困。

携带了一瓶矿泉水和一瓶 600 mL 可口可乐进入考场,撕掉了标签。

08:30 J 组开考。我相信 J 切两道题肯定是没问题的罢。

密码 #Shang3Shan4Ruo6Shui3 ,上善若水。输入密码解压,拿到题面一看显然看着是都不困难的。开始打之前我检查了 devcpp 的编译选项,写上 -std=c++14 -std=gnu++14 -O2 -Wall -Wextra 又尝试定义了一个全局 int y0; 发现不报错,瞬间感觉十分恐怖。(我去年 J T2 因为定义 y0 挂了 100 分)

第一题拿个桶然后输出就完事了。然后一看第二题如此水 n, m \leq 10 给我整不会了还重新读了两遍题意,然后简单写个模拟完成了。第三题看上去终于不是红题了,但我不知道异或有什么性质,打了个线段树进行 O(n^2 \log n) 暴力,期望得分 60 \text{pts};第四题也不会,打个子集枚举得到 40 \text{pts} ,然后特殊性质 a_i\leq 1 简单推个式子得到 24 \text{pts} ,期望得分 64 \text{pts} 。然后 fc 样例发现不考虑时间复杂度都过了,可能这是我第一次用上 fc 。以及,成功地在各题代码留下了 colGem ,作为我所存在的记录(

此时离考试结束还有很久,大概是一个半小时。我基本没怎么再考虑后面分如何打,因为反正 J 目测是一等了。看看有什么可以看的,发现有一个 GF NOI Linux 虚拟机,有意思,启动之后把代码放进去 Code::Blocks 跑检查完毕,并没有什么因为环境变化而导致的奇异编译问题,跑一下样例仍然是对的,感觉不错。整理整理选手文件夹之类的,趴着睡一会,给下午 S 组留些精力避免犯困。

12:00 出考场。可乐喝了大概 \frac{1}{3} ,看上去马上要变成跑气的汽水,或者说糖水了(?)。J 组期望得分 100+100+60+64=324 \text{pts} 。希望没有假的做法,没有挂分,希望我检查了这么多遍的 freopen 没有错误,希望我文件名没写错,希望我选手文件夹都是对的。

去到 HL 群。什么,我第一题没判前导零!?哦原来保证至少存在一个非 0 的数字字符,那没事了。

想着中午睡一会,但几乎睡不了,吃了点东西,然后马上就接近了 S 组开考的时间。见到了 @akakal 散发着强者气息,膜拜。

中午去博物馆 肠道.clear() 了一下,这里我前年就参观过,所以去了只是 肠道.clear()

~14:20 大概到了考场,我又带了一瓶可乐和一瓶矿泉水,感到有点犯困,拿了一瓶白色的东方树叶,标有 \small\textsf{茶多酚含量}\normalsize \geq 260 \text{mg/kg} 喝了大概二分之一瓶,喝起来非常的茶叶味道。

14:30 S 开考。

密码 Ren5Jie4Di4Ling5% ,人杰地灵。这个机子贴的防偷窥的膜和上午 J 的还不一样,不能覆盖整个屏幕,有点难受的。解压,打开题干 .pdf ,有点心跳加速。

一看题目感觉显然已经非常不水了,比起 J ,有点恐怖的样子。T1 club, T2 road, T3 replace, T4 employ。看题第一题嗯应该贪心之类的吧,第二题图论吧,第三题字符串!?第四题不知道是啥。

首先开始尝试 T1。去年我 S T1 是接近一通胡乱尝试然后尝试出来答案是众数,所以我今年 S T1 就瞪眼样例和解释尝试能否看出什么东西。好吧,看样例解释似乎看不出来什么东西,所以我面向样例思考感觉是不是可以前缀和每个选最大的之类,因为它刚好能对上第一个样例。所以我就开始打。

然后开始打我发现代码很难打,因为要维护 3列 * n行 的数据,并且每一行可以单独分开来排序,又要维护它的原下标。所以我当时非常混沌,也不知道在干什么,反正甚至写了一个小时多调不出来前缀和,甚至想着要开个 long long 把三元组hash一下之类的。反正最后调了两个多小时才写出我这个假的想法。

然后跑第一个样例过了,后面的样例立即全都炸了,这个时候我意识到我非常危险。好恐怖,打了两个小时 T1 什么都没打出来!因为在不停地调代码,疑似这个行为有点太心流了所以眨眼一看时间都调没了。所以这个时候我当即决定往下看题,看 T2 10min 左右发现 T2 疑似要 MST ,但我不知道怎么处理乡镇改造(其实是没读明白题意)同时前两天没打过 MST 板子所以我觉得我本题可能拿不到多少分,又立即往下跳。接着看 T3 replace,题意似乎是简单的,我觉得我非常可以写一个 O(n^3) 的暴力,所以我就花了大概二三十分钟快速写了,心率非常高。写完发现 T3 能过第一个样例。看 T4 感觉看不懂,润。

此时大概还剩 1h20min ,目前期望得分 10 \text{pts} ,这是不可接受的(事实上,考后发现我 T3 暴力也是假的,所以此时只有 0 \text{pts} ),我至少也得进 NOIP 吧!!!带着这样仿佛生死存亡关头想要活下去的决心,随后我决定是冷静一下并把精力放到切 T1 上面。

但是好急,我感觉我仿佛束手无策了。我想起我考前写题解的感觉,尝试复现自己冷静的思维,我用了个 notepad.exe 和自己对话并记录思路。

开始尝试重新考虑 T1 。我考虑了题目给的三种特殊情况部分分,发现都做出来加上 T3 10pts 我可以拿到 30pts,但是这目测也没有省三。所以我考虑 T1 特殊性质给到的提示,手推一下,发现对于 特殊性质 C 的 a_i 等概率生成,模拟一下容易发现这个情况下,可以认为按照没有约束条件的最优解的策略进行选择总是可以得到这个情况下的正解,然后我发现这个是等概率生成导致最大值均匀分布在三列里面所以天然满足,然后,马上启发了我考虑找到需要移出人的列的每行,移出导致 \Delta 最小的那几个人。就是这一点启发我找到了正解,看上去是可以证明正确性的贪心,手动推了一下不等式发现这个贪心就是正确的,然后开始 Re: T1,最后 30min 左右调试,找到了一些逻辑错误,然后完成了。这个时候真的一直很紧张,感觉心率能上 200 。真的一直在座位上扭动一般地,并且伴随着我咕哝 “难道说,难道说!?” 这样的,最后 13min 我发现所有大样例都过了,然后非常激动看起来像被抑制的一个激动的扭曲地爬行,可能别人看起来我正在无声地发电(

随后跑了 NOI Linux 虚拟机发现没有 CE 问题,检查了基本问题后就放那了。并且顺手写了个给 T2 和 T4 全输出 0\n 的 code 。

18:30 出考场。出来天都黑了,摘下眼镜又感觉非常糊。

还好还好,我没爆真是太好了。意识到做题如果没思路应该从部分分出发,并且应该要做理性逻辑推理,严格地不能瞎搞浪费时间,经验 +1 了。S 组期望得分 100+0+10+0=110 \text{pts} 。仍然是!希望没有假的做法,没有挂分,希望我检查了这么多遍的 freopen 没有错误,希望我文件名没写错,希望我选手文件夹都是对的。

出来看到 @akakal ,告诉我他 T1 好像是半个小时切了,太强了 %%% 。然后说 T2 好像有点困难之类的后面忘了。可能是树学大神。

然后回家。我这样切 T1 的经历真的是。

出分

::cute-table{tuack}

准考证号 number seat xor polygon 总成绩
GD-J03262 100 100 60 64 324

::cute-table{tuack}

准考证号 club road replace employ 总成绩
GD-S02962 100 0 0 4 104

J 组 100+100+60+64=324 \text{pts} 符合我的估计。

S 组 100+0+0+4=104 \text{pts} ,什么,T4 居然输出 0 获得了 4 分,我 T3 暴力居然挂了。不过还好,至少进 NOIP 是没问题的,准备 NOIP 罢!

第二轮,仍然是 J 组一等,S 组二等。

NOIP

NOIP 2025

这是我最后一次 NOIP ,严格意义上的最后一次。

2025.11.26 (Day -3)

正在以切掉往年 NOIP T1 T2 T3 为目标复习,或者做点 S 的前几题。经常地,看着题目在草稿纸上写写写以为自己可以切了,然后一打发现处处爆,还是老实看题解了。

紧张。感觉看着前几年题目的题解尚且勉强做出来题目,考场上不知道要如何。

想想我什么不熟,基础不熟比如 dp 字符串 图连通性,好罢不熟的可挺多的。看上去至少要打个板子,好在场上不会因为缺结论的一步而导致复杂度多个几次方。

2025.11.27 (Day -2)

感觉什么都调不出来,这显然是不行的!!而且我还有一堆板子没打。我决定开始严肃学习题解模式。

下午想到我可以给自己准备 NOIP 的过程录屏,所以我就开着录屏录了几个小时。晚上一看只产生了几百 MB 的贡献,非常可以接受,于是继续录并在睡觉前以 document.querySelector('video').playbackRate=16 回顾 (欣赏) 自己的准备过程。特别是看 16 倍速的 coding / 打字过程还是很有意思的。

最终今天写了去年 S T2,并真正理解了如何写二分,以及测试了一下几种输入输出的效率如何,然后发现解绑并取消同步的 cincout 是最快的,如果不快读。到底是为什么以前一直认为 scanfprintf 是最快的。

2025.11.28 (Day -1)

汩余若将不及兮,恐年岁之不吾与。就感觉现在真是万分紧急的时刻,只感到时间是完全不够用的,只能想着再快点多看点。

上午我终于切了昨天的题。然后到了中午,我开始过模板的 list:线段树 分块 并查集 Trie 拓扑排序 MST 最短路 负环 差分约束 点双 边双 SCC LCA 缩点 树剖 树的直径 埃氏筛 gcd lucas KMP 等。树状数组和 ST 表我仍然不会,都到这个时候了我也不想看了,反正我会线段树,反正都能维护。什么常数不常数的,不管了,反正我渐进复杂度一样(

然后下午还去 NOI 官网看了省份新闻,发现 GD 终于是发了选手注意事项,进去一看发现竟然显示着:

请一定不要在代码及代码注释里加入与考试无关的内容,包括:歌词、诗词、游记、感言等。

然后还发现其它省没有这条。GD 怎么这样

最后又把去年 NOIP T1 切了,然后去年 T2 看了半天才看懂它是在约束条件上进行考虑的而不是单个变量,虽然没切但是经验++。最近做这样的切题,感觉还是非常有用的,有很多的经验与代码细节可以在做题过程中找到。

睡前一点时间已然什么都看不进去了。

晚上好紧张,辗转反侧睡不着。只能说人类还是害怕一切的未知性。

2025.11.29

这个日子还是降临了。

6:31 起来了。感觉睡少了,且感到有点寒冷。

7:24 路上看到广州塔,所以,活力大湾区,魅力新广州

7:40 到达考场。这个地方仍然是如此的美丽。

过了一会,高一的三位同学也来了,我等了一会跟随他们的背影进去了。悄摸跟着走他们后面绕来绕去令我有点不自信,我也不知道我到底是在哪个考场,走一半折回来问问工作人员,然后确定了实际上还是在我考 CSP-S 的那栋楼,于是走过去。到了那里后发现我们学校 NOIP 的五人其实都在同一个考场,所以说刚刚其实可以直接跟随的。约于 7:50 到达考场门口。看上去里面的机子机况还不错。

这个时候 akakal 还没来。仍然是遵循上一次考试的经验,我决定 肠道.clear() ,并发现这一层楼厕所满了,不过往下走一层厕所便没人了,于是进去完成这一考前重要的 todo 。最后考前还借给了别人我带的抽纸进行 肠道.clear() ,我认为我 rp++; 了(

在进考场之前,我仍然是饮用了约 300 \text{ mL}\small\textsf{茶多酚含量}\normalsize \geq 260 \text{mg/kg} 的东方树叶,还有一点可乐,这次感觉有点喝多了。然后随手看两眼板子,把必要的笔、橡皮和水拿起进了考场。

8:31 进入考场。迟了一点点,不过感觉问题不大。我旁边两个位置坐的就是 akakal 。

刚坐下,随即感觉喝的过量的茶多酚要发力了,加上紧张就是心跳有点快。打开核心出装 notepad.exe ,谨慎地输入 !NOIP@Nov29,2025:dream ,然后解压出了 day 1 。等等为什么是 day 1 ,不管了。比起上次 CSP 我是在桌面上放代码的,我这次是直接利用解压的选手文件夹,然后创建快捷方式到桌面。

非常好,映入眼帘的是文件夹 candy query sale tree 还有 day1.pdf ,读题!

第一题,糖果店。第一眼看上去这是塞了个很常规的贪心,目测不会很困难。

第二题,清仓甩卖。哦居然还是和 T1 构成连续剧的吗,有意思。还有模 998, 244, 353 ,是恐怖计数题,看上去是困难的。

第三题,树的价值。什么,居然有 mex ,之前洛谷月赛好像见过一下这个东西。看了看,看上去不知道如何把 mex 的信息从子节点 push_up 到父节点上面,感觉这是很困难的,没什么想法。

第四题,序列询问。果然今年 T4 还是和往年差不多,放了一个一看就很数据结构题的数据结构题,看上去暴力模拟仍然是很简单,待会打个暴力。如果可以的话,看看能不能根据部分分写出什么优化。

读完题回来看 T1 。再看了一遍像个背包问题,考前没看,不过 m \leq 10^{18} 显然不可能 O(nm) ,并且注意到物品价格奇偶交替这一额外的约束条件显然不可能白给你,所以考虑就是个普通的贪心。考虑就是个普通的贪心,那便贪罢!把题目在草稿纸上手写一写,感觉并没有什么显然的思路,看看特殊性质,发现 x_i=y_i 时很显然全都选最小的物品即可,但 x_i\geq y_i 看不出什么。

在纸上模拟题意,并考察样例,想到可以先找到所有 x_i+y_i 里面最小的那个然后全买这个两个一组的,同时注意到剩下的钱只可能买一些 x_i 而不可能买 y_i ,所以接下来就排序 x_i 从小的开始买直到买不动为止。思路确定了,感觉好像没问题,写代码,发现用考场键盘有点不适应,削减我打字速度,不过还好。写完之后发现一堆样例的输出都是 \leq ans 的,说明不对,那么便想 hack ,随即便非常容易地找到了一个 hack ,调整思路,然后继续调。

最后到了大约 9:30 ,我想到我可以每次取 1 个糖果 x_i or y_i 或者以 x_i+y_i 的代价取 2 个糖果。直观地,可以考虑性价比权重:购买价格/购买数量,每次取性价比最好的(权重最小的),这里采取优先队列维护当前的最小的即可。对于每次取,如果取的是 x_i 那么把当前这个出队换成 y_i ,如果取的是 y_i 那么把当前这个出队换成 x_i 来做到奇偶交替的效果,所以优先队列放二元组 (x_i,y_i) 即可,注意到这个过程中 x_i+y_i 始终不会变化大小所以一直放在堆里不用管它。

直觉看上去,这个做法的平均时间复杂度是 O(n\log n) ,因为似乎是无法构造出一直选择单个糖果的一组 (x_i, y_i) 的,直觉是连续选择单个项的次数不会超过 n ,在 n 次选择后就会来到一个 O(1) ,然后过程中优先队列贡献了这个 \log n 项 。

这样做完之后,开始 fc 。直接 fc 样例 7 ,发现直接正确地输出 1620 ,我以为我切题了,然后继续 fc 就发现样例 6 输出 82 ,比答案少 1 ,而其它样例都没问题。我尝试想 hack ,只能说隐约感觉“取性价比最高”这一步贪心应该是很有问题的,但是我想不到任何 hack ,又感觉好像是很正确的。没办法了,我猜测我的贪心应该在大部分情况是没问题的,可能偶尔错误大概也有 85 \text{ pts} ,并且看上去对于特殊性质 A, Bn \leq 1 都是没问题的,所以即使被构造反例样例也是至少 45 \text{ pts} ,所以,我放着 T1 ,往下看了。修改好 freopen 并复制到选手文件夹,此时是 10:46 。

好了现在离比赛结束还剩大约 2h10min ,按 GD 去年 220 \text{ pts} 的一等线来看这差距还是太大了,不可接受的,所以我此时就想着争取切掉 T2 。回来继续看 T2 ,写一写,感觉一点思路都没有,只能想到套两个子集枚举的 O\big(\frac{N}{n}n\cdot2^n \times n\cdot2^n\big)=O\big(nN\cdot4^n\big) 暴力,目测可以过 n\leq 5, N\leq 5000 ,期望得分 12 。那怎么办,没有想法,但分不能不拿,暴力还是不可不写的,写暴力!

然后过了十几分钟写出了一个暴力,样例 1 过了,让我来 fc 一下,一看发现样例 2 输出了一堆 0 。这很奇异,我调了一会没调出来,此时大约是 11:40 ,没办法,只剩 1h20min 了,只能赶紧开后面的题了,润。

看 T3 仍然没有任何想法,感觉做 T3 也并没有什么有前途的做法,所以我直接开 T4 。

T4 题意也就很简洁,这种东西一看就是最好打暴力的了。但,最后要我模 2^{64} ,自然溢出 unsigned long long ,是 UB ,以前没有写自然溢出的经验,感觉有点古怪,不知道要不要开 __int128 ,希望没什么问题。

随即我 notepad.exe 梳理了一下思路,想如何写这个暴力,然后顺利地写出了一个 O(qn^3) 的暴力。一看样例 1 没问题,测一下样例 2 ,发现有一些问题,不过都是些变量名把自己绕晕的问题,很快就调出来了。看了看,过 n\leq10^3, q\leq1 是没问题的,期望得分 5 。显然这样我不会满足,因为最后一个 n 的次数贡献来自于暴力维护区间最大值修改,我显然可以用一个线段树维护把它变成 O(qn^2\log n) ,所以我大概用了十几分钟继续打线段树。写完发现线段树好像报废了,不知道哪里有问题反正输出都不对。但感觉时间紧张,没办法,我也没怎么调,赶紧去掉线段树部分然后回退到暴力版本,测试一下此时样例还是没问题。那么,交到选手文件夹,此时是 12:17 。

还剩大概 40min ,T3 没有半点想法,那我只能回头看 T1 和 T2 了。我决定回去再 hack 一下 T1 ,修一下那让我心神不安的算法正确性问题,修掉第六个样例 WA 的问题。然后又回去看了十几分钟,发现仍然想不到有什么问题,反复看感觉很对,又想不到任何 hack 。所以我只能做的最后的工作就是打开虚拟机,把 T1 的 code 放进 Code::Blocks 里面跑一下看看也没有环境变化导致的编译问题等。看了并没有什么问题,那么继续,写了个 T3 全输出 0 ,不得已我最后又来到了 T2 ,现在希望把暴力打出来。回去调的时候我都不知道我到底改了我之前写的哪份代码,总而言之最后 1min 感觉又调出来了,火速复制回选手文件夹,然后到达 13:00 ,比赛结束。

出来有种平淡的荒谬感,就感觉它似乎就这么结束了,这么长的一段 OI 旅程它确实结束了。

讨论题目情况。怎么感觉所有人都上来半个小时就秒了 T1 然后瞪眼后面的,那这么看我 T1 还是写太久了。HL 群讨论时我知道了我的贪心就是假的,然后感觉后面写不了多少分,让我有点绝望。但是同众人一起面对 NOI plus \textbf{\textrm{\color{#F8D000}\text{黄}\color{#AD00D8}\text{}\color{#29006F}\text{黑黑黑}}} 或者说是 \textbf{\textrm{\color{#F8D000}\text{黄}\color{#AD00D8}\text{紫}\color{#29006F}\text{黑黑}}} 的锐评发电甚至让我感觉压力更小了,甚至有人说省队线一百多。然而一切都结束了,纵使你考后想再多的东西,你也改变不了你考场的抉择是如何,策略是如何。你难道能改变什么吗?虽说如此,我却发现我在考后就是这样,高强度地搜集 NOIP 2025 的信息,又不断地想着自测、比对,或许只是希望在这强烈的不确定性中获得哪怕一点确定性的慰藉。然而到最后,我还是要怀疑起自己有没有写好 freopen 等,这甚至是无法确定的,我只能做到相信我考场上完全做好了这些事情。

下午去了一些地方,所以回到家是晚上。复现了代码,完美地复现了 T1 在第六个样例少 1 的问题,然后交洛谷和云斗,发现竟然在两个平台上 T1 都切了。最后和 @地狱石QAQ 讨论,帮我找到了 hack 。我在第二天写了个高速对拍,然后拍了大数据的 10^2 组到小数据的 10^7 组,发现我的代码在随机数据下对一个样例的正确概率与 n 有关,特殊性质和 n=1 时拍不出错误,一般情况程序的输出是正确的概率是 99.6\% 左右,而在样例六 c=13 的情况下这个正确概率在最低点附近,略大于 98\% ,那这就解释得通了,现在希望 CCF 的数据不要构造反例。第二天也把 T4 复现了,发现暴力居然有 20 ,定睛一看特殊性质 B 下第三维循环变成了 32 的常数,看上去挺好的。甚至,还好说我考场上没写出来线段树,不然反而可能会因为线段树的 log 加上常数而 TLE 。

所以,目前的估计是 [45, 100]+[0, 12]+0+[5,20]=[50, 132] ,爆零什么的应该不会出现,不知道最终如何。

出分 (2025.12.6)

::cute-table{tuack}

准考证号 candy sale tree query 总成绩
GD-0622 100 0 0 20 120

最终 NOIP 取得了 100+0+0+20=120\text{pts} ,看上去是,竟然 T1 这个假的贪心做法真的拿满了,且 T2 暴力还是挂了,而 T4 也是凭借着 CCF 评测机优秀的性能(与暴力极低的常数)取得了特殊性质 B 额外的 15\text{pts}

事实上比想象的高一点,意似良,看上去一等是希望渺茫了,但希望有二等。

出等 (2025.12.13)

终于出等了。GD 的一等线 144 ,二等线 113 ,三等线 86 ,我将完成最后的更新。

看上去大概拿不到六级钩?所以我大抵是至此,到最终,也是仍然没有蓝钩的。在 NOIP 中取得六级还是比在 CSP-S 中取得六级困难太多了。

不过还挺好,至少我有二等了。

追忆

我是在初一开始 OI 的。

更具体地来说,我在初一第一次参加 CSP-J 和 CSP-S 。只是知道有这样一个赛事,且在前一年的六年级已经学会 cpp ,跟随家长的引领来参加这样的赛事罢了。那么,在这样毫无头绪的情况下,不出所料地并没有过第一轮。

在最开始的这么几年里,我都是没有方向地自学的,甚至我注册洛谷还是在 2022.8.15 ,而开始真正使用洛谷还是在高一。在此之前我都是使用 NOI 官方提供的 oj.noi.cn ,不过这个 oj 现在已经没了。

于是到了初三,在对往年第一轮题目的 vp 下,我积累了足够的经验,并成功通过第一轮进入了 S 组第二轮。此时由于并没有足够的基础知识所以 J 组反而没过第一轮。进了 S 第二轮,开幕 P8817 [CSP-S 2022] 假期计划 ,这题拿点分还是简单的,但我只记得我当时在考场上基本上就是调这题了,主要还是在写 dfs 尝试处理出单源最短路,不过这个我疑似也没写出,我还记得我考场上用的存图方式是 vector<int> to[maxn]; ,这我沿用至今。

然后不出所料那一年也是爆 0 了。

::cute-table{tuack}

准考证号 holiday game galaxy transmit 总成绩
GD-S00304 0 0 0 0 0

随后进入高中,打上了广州的市联赛。去二中参加比赛的体验感觉非常愉悦,我就喜欢这样机房的味道与 OI 比赛的感觉,虽然也没打多少分,但这样的体验真的是极好的。我记得在校园中,阳光透过绿树散下斑点状的叶影,身旁便是绿水,且空气是如此的沁人心脾,在露水的味道中尚带有一丝机房的气味得以令人闻到。这也是学术的味道。

我在高一打了 CSP-S 2023 。顺利地过了第一轮,但我当时仍然太弱了,居然不会写第一题 P9752 [CSP-S 2023] 密码锁 ,主要是当时甚至不会用 STL ,所以不会写去重,然后考场上应该是尝试了 hash 也没 hash 明白。

::cute-table{tuack}

准考证号 lock game struct tree 总成绩
GD-S01048 30 0 0 0 30

当年的三等线是 55\text{pts} ,而我也并没有进入 NOIP 2023 。比较可惜,因为这一年难度感觉是相对简单的,虽然我当时那个水平进去了也是不行的。

然后到了夹在高一下和高二上之间的那个暑假,数学夏令营恰好在我们学校举办,都是数竞的东西,不过我感觉有点兴趣所以去了。到了虽然基本听不懂,但是这大大开拓了我的视野,使其不再局限于文化课的那一些东西,有一种充满了力量的感觉。数竞夏令营后还有一个化学和生物竞赛的夏令营,我又去生物看了两眼,但生物营不能看手机,于是我感到无聊就在闲暇时间翻看自己的东西,发现了一个先前打印的 2023 年的 NOI 大纲,此时,2024.8,我才发现这上面完全告诉了我应该学习什么内容。于是我连夜从生物营跑路,然后回去 OI ,然后一周基本完成了入门组的东西,并了解了很多提高组的内容,并开始经常使用洛谷,算是知道了 OI 如何入门学习,这是一个转折点。

到了 2024.9 ,带着这些知识我来到 CSP-J / CSP-S 2024 第一轮,就是比之前好了不少,得到了 J 组 86 \text{pts} 和 S 组 65.5\text{pts} ,第一次两个都进入第二轮。随后我还学习了一堆板子,此时学校又恰好找来一个教练,在选修课的时间,给我们简单地讲解了一些知识,比如线段树、树剖等,加上更重要的一些自学,我也学会了很多板子。

::cute-table{tuack}

准考证号 poker explore sticks chain 总成绩
GD-J02932 100 0 0 0 100

::cute-table{tuack}

准考证号 duel detect color arena 总成绩
GD-S02811 100 0 0 0 100

J 组是 T2 挂分了,S 组 T1 一通搞发现答案是众数的出现次数。其实都不算特别稳。但是我接下来就准备 NOIP 2024 了,并期望能省一。

::cute-table{tuack} 准考证号 edit assign traverse query 总成绩
GD-0466 30 15 4 0 49

当时出考场我以为要爆零了,这也说明我当时也并没有什么注意部分分的意识,实际上还是吃到了些许特殊性质。好在当年省三线 40\text{pts} ,所以我仍然是至少有个省三。

高二还如此,理论上应该没有更多 OI 了。

但我在高三仍然带着“参加一下绝对不劣于不参加”的想法去参加了 2025 年的比赛。2025.8.3 又是梦熊恰好在我们学校开始举行集训,那一天恰好是高三开学前一天,我就去参加了一天,复习了一个线段树,并由于开场几十分钟没打出某一道题被授课的金牌大佬抽查地询问:“呃,问这个, c o l g e m 同学,为什么还没写出来这道题”(小白逛公园,维护区间的最大子段和)(还是一个字母一个字母读的),就很有意思。那道题我当时也是不会,因为这种信息的维护我根本没有头绪,但感觉又确实有人听一遍板子就能会解这个是不是太聪明了()

然后,剩下的东西,便是上面的游记所记载的了。

总而言之,OI 确实在我的人生中留下了浓厚的一笔。我确实很喜欢 OI 所带给我的这一种感觉,这到底是什么感觉呢,很难言说的,这确实是很难言说的。

:::epigraph[——《追忆》] 曾经的日子无法重来,我只不过是一个过客。但我仍然渴望在每一次追忆之旅中留下闲暇时间,在一个场景前驻足,在岁月的朦胧里瞭望过去的自己,感受尽可能多的甜蜜。美好的时光曾流过我的身体,我便心满意足。 :::

不论如何,我的 OI 旅程都已经结束了,这一结束是彻底的。那么,就于此,为我的 OI 生涯画上一个完整的句号。