省选游记 2026

· · 生活·游记

写在前面

停课集训了 3 周。OI 没提升,whk 倒掉得挺快——113/1079 → 267/1093,大约从 10.4% 掉到了 24.4%。班主任看到排名沉默了很久,最后叹了口气说“你先考吧”。

考完回头看,这个代价是值得的,但不是进队这件事值得,是这个过程值得。

考前

3 月 6 日晚上,我把板子库翻了一遍,线段树、树链剖分、网络流、LCT、SAM……看着看着就困了。十一点闭眼,然后翻来覆去到两点才睡着。不知道是紧张还是兴奋,可能是两者兼有。

Day 1(3 月 7 日)

考场上坐下的时候手还在抖。8:30 开题,压缩包密码很吉利——20260307,算是个好兆头。

先通读三题:T1 是个树上概率题,T2 是个字符串构造,T3 是交互。第一天的题看起来都挺“正常”的,至少不是那种一看就想吐的纯数学推导。

T1「找寻者」

这题我一拿到就笑了——是我擅长的期望 DP + 树链剖分。

但这题的核心难点在于“重链长度”这个状态的维护。我想了很久,最后设计了一个 dp

写着写着发现这个 dp 的转移和树形背包几乎一样,只是多了一个“撤销”步骤。大样例跑了 0.2s 左右,爽到。大约 2h 写完,拿了 100 分。

100 分到手。

T2「摩卡串」

T2 是道字符串构造题。我一开始完全没有思路,盯着题面看了二十分钟。暴力是枚举所有串去匹配,但显然不可行。

后来想到了用 BFS + DP。

大样例跑了 3.3s 左右,按时间看应该能拿 90~100。我当时测的是 70 分的数据范围,估计是最后被卡了常数。最终得分 70。但更大的问题是——

赛后复盘发现,我这题的 BFS 实现里忘写剪枝了。更关键的是,有一部分数据范围我其实可以暴力跑过去,但我的做法因为没处理好递归深度导致 RE 了两个点。如果不 RE,应该是能拿到 100 分甚至更多的。

痛失场黑。一想到这里就难受。

T3「夜空」 这是一道交互题(D1T3)。我认识的很多人都会这道题,但我没搞出来。

剩下的时间不多,我花了大约 1 小时拼部分分。前 20 分是比较好拿的,只要处理一些简单情况就行。最后 20 分收工,看一眼估分,够用,也就没再纠结。

Day1 合计:100 + 70 + 20 = 190

晚上回酒店,我躺在床上复盘第二天的策略。第一天的 190 分给了我不少信心——至少 T1 是切了的。但我隐约担心明天的题会不会翻车。

事实证明,我的担心是对的。

Day 2(3 月 8 日) 第二天到考场的时候状态明显不如前一天。可能是一晚没睡好的缘故,也可能是感觉“已经稳了”的松懈感——不应该的。

看完题面我就傻了:怎么有两个交互题?加上第一天的 T3,两天一共三个交互题??

T1 D2T1 名字叫「排列游戏」,是个构造题,思路是确定一个前缀最小值序列和后缀最小值序列,然后从 0 开始拓展区间,沿途的不确定值随便塞。

想了十几分钟就开始写,半小时写完过了样例。操作次数应该被控制在限制内,感觉很稳。大样例都过了之后就没写对拍,直接放那了。最后 100 分。

T2「星图」 这是我最痛心的一道题。

D2T2 是传统图论交互题(但出成交互格式,这很阴间)。一开始我完全不懂从哪里入手。

写着写着脑子里冒出一个大胆的想法:能不能用某种方式一次性翻转更多边?直觉告诉我应该能,但我没去实现,而是按保守的路子写。后来大样例跑出来发现有些点跟答案相差 2——操作次数不够。于是我开始疯狂微调,在所有操作前增加额外的操作,尝试各种组合。最后把所有大样例都调过了。操作次数大约在某条线上,估计能拿 67 分。

但我少写了一个至关重要的剪枝。在分类讨论里,有一些 case 可以直接跳过,但我没处理,导致深度递归后程序崩了。最终 RE 炸掉了两个点,只拿到 40 分。

如果我当时多写几行 if,多判断一下边界,这就是一道能切的黑题。

因为一个剪枝,痛失场黑。

T3「工业系统」

D2T3 的题面很长,看到就头疼。前 15 分钟我连题意都没完全理解——什么“如果叶子是空集那不是所有点都是空集吗”?看了一眼样例解释才发现是一堆滚木在比大小,同构比较要递归。说了句 wtf 被旁边同学瞪了一眼。

时间不够了,只拼了第一档分。但没调出来——就 0 分。

Day2 合计:100 + 40 + 0 = 140

总分

100 + 70 + 20 + 100 + 40 + 0 = 330

第一次在比赛中切紫题!D1T1 的 100 分是我在正式赛场上第一次独立切掉一道紫题级别的题目。那个感觉真的很好——看到大样例跑过的瞬间,浑身都热了一下。

但失去的可能更痛。T2 的 30 分,还有 D2T2 的若干分——加起来至少是 60~70 分。

总结

第一天状态奇好,第二天跟屎一样。

进队了,E 队第二。这是一个我不配拥有的名次——至少在我现在的水平看来是这样的。

for(int i=0;;i++)
{

    废了。。。黑不会了。。。紫不会了。。。蓝不会了。。。红不会了

    退 OI 半年,啥都不会了

}

进队又怎么样?NOI 又要被创飞。我现在的水平放在全国省队里就是垫底的那种。黑题不会,紫题勉强,蓝题都要犹豫,甚至连红题有时候都要 debug 半天。

但不管怎么说,还是要努力的。还剩下 5 年的时间,不能再被创飞了。

忽然发现我才初一,就不用那么急。

毕竟,我还是 S 331 的人。

毕竟,我还有未来。

致谢

感谢一路走来陪我刷题的队友们,感谢教练在我 whk 掉下去的时候依然相信我,感谢父母一直以来的支持。

NOI 见!!!