联合省选2025 游记
Day 1
6:30 起床,来一碗热干面+小笼包压压惊。
特意戴着 Tara 的发圈赴考,事实证明它带来了好运。
(Update On 2025.03.04:带来好运的其实是 Tara 在我不在的这 50 天里每天一次的祝福鼓励……她写了50天,好感动呀……)
车上炫一罐红牛开开胃,据说喝了不困倍精神。复习了没用上的光速读,看手机看得有些晕车。
接下来是正常的华科门口合照流程,和学弟们一起进校,心态出奇的好。反正就算没进队,回归文化课也是挺好的嘛,天天都可以见到 Tara。
考场门口排队时发现省内 dalao 都用物理 Linux 系统。我这种蒟蒻只会用 Windows。由于我这个考场统一使用 Windows,于是可以碰到众学弟以及闯闯。
一开始我的座位被安排在闯闯后面,结果这里的鼠标滚轮失效,就被监考换到考场最后一排坐着去了。那些考场后面没有坐人的位子,电脑里面甚至还存着NOIP的题目和选手代码……
换座位的问题在考前就解决好,没有加时。只可惜抄不到闯闯的代码了。
T1 一眼看上去好难。二元组中 \(a\)、\(b\) 的值都可以变来变去,这能做吗?
考场里面开着暖气,想题快要想红温了。想了半小时之后打算从性质B枚举中位数入手,没想到真的一步步推到正解了。
确认离散化的细节之后果断开写,加上调试,写完已经 10:00。奖励自己吃一片main包。
T2 对着 DAG 分析一小时,愣是没想到用 bitset 记录可达性,蒯了20分走人。
T3 一直以为性质 A 是最好想的,直到看到性质 C 才发现被骗了。哐哐搞定性质 AC,又在去厕所的路上想到怎么去掉 A。拼上 8 分的暴力就是 52 分。
最后几乎没有时间检查代码。慌乱中在 T2 的代码里发现额外调试信息,现在想到还是后怕。草草打包提交,也不知道会不会挂分。希望别。
出考场,好像 T3 写性质 C 的人并不多?不过 T2 没想到 bitset 真的好遗憾,省内强校以及外省的 dalao 都切了这题。
外面出大太阳,热热热!回家爆刷《误杀》《误杀2》,反正没有作业写。
Day 2
晚上被热醒好几回,没睡好。早上依旧炫一罐红牛,可是这回有些力不从心。
默默给自己打气:能考上是撞了八百辈子都碰不到的大运,考不上就可以开开心心陪在 Tara 身边了。
车上看了往年 D2T1 的难度,风格大概是那种变种考察基础算法的中档题。
听闯闯说要冲 D2T1,我也要!于是开题的最初想法是想正解,结果看错,得出了一个要求箱子可重叠的算法。
也不知道怎么观察出 \(\forall a_i \leftarrow a_i-i\) 使得箱子可重叠这种神秘转换的,但是举不出反例,就高高兴兴用线段树水一遍。除了几个编译错误,我没有调试过这 3k 的代码,还一遍过了所有大样例,令我小小蒟蒻属实吃惊。自信心爆棚,没有对拍。
接着把绝大部分时间献给我没有拿下的 T2 性质 C。神秘容斥无法战胜。
11:00 开始摆烂敲暴力,求有向图外向生成树被 prim 硬控 1h,拿下辛苦血汗分(性质 A)。然后接着做更简单的性质 B。
这里出现了一个致命问题。我写的分讨是:
if(testcase<=3) solve1();
else solve2();
恰好考试给的大样例只有同时满足性质 AB 的数据,加上我大意直接复制样例,自始至终 solve2()
从来未被调用过,都是用 solve1()
解决的。但是当时我没发现。
接着赶忙去收割 T3 的微微薄 8 分。发现用 umap 无法水过 \(n\le 18\) 的数据,尽管答案不大。
回过头看 T2,意识到我用邻接矩阵做性质 B 的复杂度是 \(O(3^n\times n^3)\) 的,得改成 vector。改着改着,诶?
我在最后三分钟才意识 solve2()
的问题,迅速改好重测了一遍,挂了。开始极力寻找代码正确性的锅,无果。并在最后 10 秒内提交我的唯一一版代码。
黑屏之后才想起来——哦!忘记算 \(4^{非树边个数}\) 的贡献了。可是已经没有用了。懊悔。
即使不挂分,也只有大众水平。
算了不想了,下午照样玩玩玩。去外婆家剃了坨不对称的发型,又顶着这一坨去外面餐馆嗨吃一顿。
明天就见面啦!
Day 3 \(\sim\infty\)
其实考完之后一直很担心挂分,特别是D2T1样例比较弱,一挂就是100pts。
考完之后学校安排我们在等成绩这段时间继续在机房加训。官方数据出来之后,我按照考场思路复现了D2T1和D1T3这两个关键题目,有惊无险没有挂。
一周之后代码压缩包密码公布,云斗学院开放官方数据测评,所有人的心都提到了嗓子眼。
首先测评的是D1T1,D1T3和D2T1。这三题我总分252,暂时与其他四人并列省第一。我,闯闯和牢狱都切掉了两天的签到题,可喜可贺。
不过可惜闯闯在最后20分钟内急速敲完的D1T3挂大分,性质C只获得了4分。雪上加霜,闯闯在D1T3注释掉了8分的暴力,仅仅是这8分之差,他与省队擦肩而过……
然后是好评如潮的D1T2。我们提前查阅了NOIP非高分段而且来自市外的选手代码,希望他们都只拿到20分,加上强校的三分之一限制,可以把闯闯送入省队。天命不由人,偏偏有这样的一名选手通过枚举答案的 \(O(nq)\) 做法获得84分。
(后话:牢狱分析了这个人的代码之后去掉了其中的记忆化部分,结果AC了……)
之后就是悬念不多的D2T2与D3T3了。
成绩是:我进队,闯闯省队外第一名,牢狱二倍队线。
换言之,我失去了两位战友,两位陪伴我20个月的战友。
闯闯知道成绩之后沮丧了很久。好消息是他通过了不久后的中科大初试,并正在准备即将来临的复试。相比之下,我离初试的分数线还有10分之多。所谓塞翁失马,焉知非福。
而牢狱则回归文化课,也回到了久违的、热闹的班集体内,与其他同学进度上的差距很快被补齐。
我们将会在不久后的ICPC赛场重逢,最后体验一遍三人ACM的默契与快乐。
我们各赴前程,暑假后再见!