梦——2026 联合省选游记
“时过境迁,小 B 回到了他梦寐以求,却又折戟沉沙的省选赛场。但他关于算法竞赛的记忆还有多少呢?其中又有多少最为珍贵的记忆值得去珍惜呢?小 B 是一个对算法竞赛充满热情,乐于探索的人。而对他来说,最珍贵的记忆便是学习算法时对其进行各种修改、实验,尝试得到一些新成果的日子吧。
小 B 想请你陪他一起,去找寻这些珍贵的记忆。”——《[省选联考 2026] 找寻者 / recollector》
Day 6
梦。
突然才发现充满忙碌的上半学期结束了,充满期待的寒假结束了,充满焦虑的省选结束了。好像一切都只是一个梦,只有结果,没有过程。
突然就到了下半学期。
写这篇游记,顺便当一个recollector,recall一下去年省选。(本文中以 “ 斜体字 ” 来表示去年省选的经历,以 普通字体 来表示今年省选的经历。)
本文使用 0-index。具体小时分钟数均为大约值。
Day -n
“ 上文化课。 ”
这次过年前一直以半OI半whk的状态在准备,但是说句实话,干正事少,摆烂多。也不知道为什么,仿佛时间还很充裕一般。
然后,初八开始急训,听wishapig大佬上了六天课,讲的全是蓝紫黑,但是都不太会做,上课有时候还困得要死。
后面学校返校也没去,寒假作业也没写,就是专心训练,但是实际上也没有多少天了。
“ 本来以为报名没成功(一直在“信息审核”),结果前几天的时候教练告诉我可以参加,而且好像是正式的,导致也没时间停课了。 ”
又差点没报上。
Day -3~Day -2
真的开始慌了。
看看各种模板都不怎么会写:一个Splay晾了一年重构还是TLE没过;二次离线莫队写了半天崩了;其他省选模板基本不会。南外的训练题基本没写。不过好歹知道了有这个算法,也大致会了一点。
结果就是什么都想干,然后发现这个来不及,那个也来不及,结果当时反倒什么也没干,题也没有做很多。
Linux用过几次以后也基本会用了。
当时感觉前面那么久的训练就像一场梦:过程很长很波折,但是却几乎什么都没留下。先前的雄心壮志估计又要毁于一旦了。
现在看看还是有长进的。
Day -1
上午还是急训。
最后稍稍看了看历年题,特别是去年两道题,但是好像也没什么思路,索性去看题解,大概了解一下做法。
下午跟着别的同学一起去HZNU(我们住校内)。一路上还是听歌(前几天发现高达独角兽的歌特好听)。由于还是有点慌,因此差点把ZJU看成HZNU。
尽管很享受路上的时光,但是最终,车开进了学校。到达上次NOIP时来过的酒店住下。(所以为什么晚上会有查寝的可能性?)
在酒店安置好以后,我们一群人都跑到一个房间去了,中途去楼下吃了碗面。看看大家都不慌,都在摆烂,我也不知道是赞同还是反对,不过也没怎么认真复习,也就把small trick和警示后人之类的看了一点。
完了,是“大凶”。
这里我要衷心感谢我的母亲晚上跋山涉水地从家里赶过来,她给我提供了很大的精神支撑。
Day 0
“ 一大早起床,吃早饭,到考场坐下。 ”
早上七点被叫起来,找了个机会机会上谷开运势。“
去酒店吃了顿极其简单的早餐。
还是很紧张,在HZ早晨的寒风中我感觉我不断在发抖。像做梦一样,省选已在一步前。
然后去考场,门口遇见各位大佬,还有隐藏嘉宾zjf,然后一起进考场。
8:15 a.m.
大概看了一下,应该会用。
「win」「SX」「AK」
8:30 a.m.
“ 考试开始。我瞅了一眼,直接被开幕雷击,我好像一道也不会做……然后开始研究Linux系统。 ”
大概看了一眼三道题目,基本上感觉没一题能做的,第一题很复杂,反倒第二、三题题面看起来简明一点。不过我还是愿意相信出题组排题目是按难度排的,所以就先开T1。
9:00 a.m.
“ 正式开始做题。先去搞第一题,我大致了解了题目的意思,然后有了一个还不错的思路。然后就按着这个思路写了 ”
这次反倒一点头绪都没有,草稿纸上乱画了一堆,题目看了两三遍也没问题。原本有一个比较偏直觉的思路:一条边成为重边的概率可以直接用链长的期望值来算,结果根本不行,而且和轻边数量好像也扯不上太大关系。
感觉情况有点棘手,我担心卡5个小时。尽管机房里不热,我感觉整个人如坠冰窟。
9:30 a.m.
感觉正解估计是想不出来了,所性决定打部分分。想了一个挺暴力的思路:做一个类似树上背包的操作,维护每一个子节点每一种所在链长的概率,在父节点处合并。
然后大致写了个式子,发现很有卷积的样子,但是NTT根本不会。只能写
开始写代码。
10:30 a.m.
“ 写完了,开始一个一个大样例地测。结果到了第二个大样例就出了问题——ans文件里边的答案和我的答案不一样,而且我根据in文件里的输入发现我是对的,ans文件好像错了。但我又感觉不太对,ans文件应该不会错的,于是我感觉可能自己错了。我又回去读了一遍题目,发现——S是一个有序可重复的集合,是排序以后再求最中间那个!!! 完了,只有两个半小时了,我肯定没救了。 ”
代码大致写得差不多了。虽然是个自认为很暴力的代码,但是写起来很复杂。不断地推翻原先比较简单的错误方法,然后改成又烦又长的正确代码。最后搞出了一个前后缀背包,目测常数感人。
然后就是不断调试。
11:00 a.m.
前五个样例过了,这在我意料之内,但是第六个也跑过了,就很神奇了。
但是第七个是过不了。
不过我仿佛很有信心,开始卡常,优化。
第七个居然卡到了2.7s?!
我有点郁闷。 但是OIer怎么会关心时间复杂度证明呢? 不过大概分析一下只有两种可能,但都有可能:1.样例过水(实际上第七个样例前一大半的边都在一条链上);2.程序时间复杂度跑不满,实际上可以证明在
但是还是卡卡常吧。
12:00 a.m.
于是在我各种各样的努力下,第七个样例卡到了0.4s?!
(警示后人:一定要边改边测样例,且留副本,否则你就会像我一样疯狂按Ctrl+Z)
阿西克斯的奇迹!
然后开始着手后两题,但是也没什么时间来打暴力了。T2、T3都只会最基础的暴力,还有性质强到离谱的部分分。
12:59 a.m.
“ 停止垂死挣扎,最后第一题废掉,第二题bitset开巨大的空间(本来感觉可以用强连通分量缩点来优化一下,不过忘了怎么写了,Kosaraju 算法死活想不起来,就大暴力了),第三个大样例就挂了。第三题没做…… ”
(可惜没上recall的车。)(去年省选只有四个半小时吗???)
1:29 p.m.
以最快的速度检查,填表。
after 1:30 p.m.
“ 回酒店去摸鱼去,顺便研究一下Linux的用法。 ”
吃了顿辣菜。一群人又开始在房间里玩游戏了。不过放松一下也好,不是吗?晚饭吃的是不错的外卖,感谢两位家长。
问了一下,大多都100上下,不过T1好像没人写出正常时间复杂度的代码。
不是,
玩了会儿牌,然后还是稍微看了一点OI相关的内容。
有一种梦的感觉,居然有一题能过所有大样例,基本上可以看作AC了,不过还是有点忧虑,感觉时间复杂度不太对。不过原先的目标也是100多一点,这对Day1的信心提升很大。
当然如果没有第二天的比赛,我会觉得那天下午是我很喜欢的一个下午,大家能在一起快乐玩、聊天,这样的下午对我而言是罕见的。
早点睡。
Day 1
“ 老样子,一大早起床 ”
“
大致与昨天一样。虽然说有昨天的加持,但是还是隐隐慌张。
8:15 a.m.
「SX」「Team」
8:30 a.m.
“ 今天一定不能重演昨天的悲剧! 我瞅了一眼,看起来第一题比较贴近生活。(幸亏我没先去干其他两题,好像都是黑题)然后试验一下昨天研究的g++格式对不对,然后发现不对……于是又开始尝试怎么把编译参数加进编译里……………… ”
是谁说要有交互题的?站出来!
两道交互题,一道抽象树上题目。
这次的T1比昨天好懂很多。
然后因为“本试题目录”的定义斟酌了半天。
8:50 a.m.
“ 基本上搞定了,开始做第一题。我在做之前再三读题,终于好像理解了题意。开始举例子,想办法。 ”
T1的主要难点在于只要对于任意一段区间猫儿小(mex)值都相同就可以,这比较难刻画。而且举的例子都是依靠人类智慧解决的,也没找到什么比较好的方法。
9:10 a.m.
又有一种冷感袭上心头。
虽然说思路没想到,我反倒发现对于
9:30 a.m.
依然大致有了一个思路,由于前缀猫儿小等于后缀最小值,所以只需从两个端点分别往另一个方向拓展,若相邻两区间值不同,则此位置值可以确定,否则往大填就可以了。(受到了先下降后上升特殊性质的一点启发)
然后开始着手代码。为了减少询问次数,我直接二分跳,应该没问题吧。
9:50 a.m.
“ 大致有一个思路。然后就开始写代码了 ”
10:30 a.m.
“ 代码写完了,折腾了半天调试、对拍。但是拍了好久也没拍出什么。 ”
大致写完了,然后一堆改动优化,样例倒是都过了。但是总感觉有点不放心,然后写对拍。
grader.cpp效率感人。
看起来都没问题,那应该能过了。
11:00 a.m.
看后面两题吧。
感觉T3暴力可以树hash,但是先像T2。
11:20 a.m.
“ 又把check试了一下大样例,发现check好像也可以过?又开始死命地调,因为我总觉得check会超时,不能直接当最终程序调着调着,发现check不知怎么又会超时了,而且好像还有一点问题,不过至少move.cpp里线段树应该没问题了。 ”
11:50 a.m.
“ 终于发现哪里出问题了:我的二分写错了。亏我调了那么久!!!终于每一个大样例都对了,这题好像对了。但是只剩下一个小时了…… ”
发现T2无法做出,而且暴力也不会。开始写T3。
12:30 a.m.
T3的暴力差不多写好了,再回去想想T2。
不过我也没太多兴趣了,有一点盼着结束。
12:59 a.m.
“ 最后一个小时里第二题随便写了一点,在最后的大概十分钟不到的时候把暴力写完了,但是不知为什么,每一次运行的时候都会跳出来一个“段错误(核心已存储)”,根本运行不了,最后不了了之。 ”
T2还是毫无头绪,发现T3好像有菊花图之类的性质可以打。赶紧启动。
话说T3怎么那么多勘误。
1:20 p.m.
时间感觉来不及……
欸,延长了15分钟,那还有救!
1:44 p.m.
检查完。省选结束了。
after 1:45
“ 今年的省选肯定是废了的。得回去学文化课了,明年再试一试吧…… ”
感觉今年还行,好的话有230左右。比去年已经是很大进步了!
回程路上边聊天边听歌。
洛谷上题目难度与估计比较类似。
Day 2
一天whk上完突然发现上半学期结束了,寒假结束了,省选结束了,这个赛季也快结束了。
回望前几天,如同梦一样,印在脑海,却又感觉陌生。
Day 5
出初评成绩了?
没别人一天高。D1T1对了,D2T1不知道为什么挂成87了。
不清楚成绩在申诉期间会不会有变化,不过估计不会更高了。这个成绩对于冲NOI来说,还是太少了。
但是,
至少对于去年的我而言,这次是成功。我一直感觉从去年省选开始我就停滞不前,很担心重蹈覆辙。但从这一次看,我有进步。
向前看,道阻且长,我仍在中途。
最后,感谢我自己。