· · 生活·游记

可以提前开工了。

在我初一下的时候我校才刚引入OI并发出了小范围的通知,负责老师是tz,当时我们的某门课是他教的,加之我在五年级的时候学会了输出 {\color{blue}Hello World},觉得自己“很有基础”,就报了。值得一提的是第一节课指导IDE的安装时codeblocks在我家电脑上环境错误,要不是后来换成dev可能直接不学了。

之后我们学语法,那是一段快乐闲散的时光,每天都有牌类活动,还拍了某人的很多照片()。

再之后初赛集训,有点上强度。几个人过了,之后请来 Rubyonly 讲复赛,更是完全听不懂。复赛一看见T1感觉像快速幂先慌了一下,不会写,后来发现不需要就过了,之后T2那种数学题当时对我不太可做,还因为“把代码建在桌面上”出现了玄学,紧急转终端写法,暴力过样例之后T4读不懂什么是“欧几里得距离”,余下时间全开T3,狂堆了78行(此前没写过超过30行的),没写对。出分一看T2爆零了,当时不知道有代码公示所以我至今不知道挂在哪。侥幸场切红(),T3捞了极小测试点混个J二等。

初二平常每周一两次课,真正涉及到了SSSP,线段树这种东西感觉确实有难度,常常听不懂,也偶尔划水。夏天 {\color{red} MonkeyKing} 来讲课,理解了十分有限的东西,但确实有所理解。这一年影响最大的应该是我同时吸取了 Rubyonly 压行的码风和 MonkeyKing 口胡的精神。

然后当年J的分层图最短路输出了 -1,S没有码力+二分答案看不出来,只好压线一等。NOIP的体验赛T2赛场脑子糊了,做的十分不冷静,很久之后重写那道题感觉有点错失机会,当时也无感。

一年又过,参加了 WC online,这个在学校玩的很开心。然后仍旧是周末上课假期集训一两周的模式,记不得什么更多的了。

高一的时候我仍然弱,S的T2挂了10分,T3写了复杂度 O(n^2) 但状态高达四维的瞎dp导致无法优化。NOIP很快想出了T1的贪心但一时间没有好的写法,几次犹豫后没写去看T2,T2推了推就推出来了,慢慢写了写,写完后T1也会了,写大概15min就出来了。

我以为一等稳了,只是因为之前的分数线没有超过200的。

然后就有些懈怠,T3盯了个链的4分,T4纯暴力8分,出来后意识到可以ST表。

然后等出分等了一个月,是二等,就差一个ST表。不是很能接受。或许这是一个转折点。此外,kd 退役,DXYZ首届的人就剩我一个了。

现在再想,那时候我除了不多的一点脑子,没专门学过数数也不熟悉数据结构,没想到ST表理所应当,能写出T2或许还是运气使然,只是看上去只差一点而已。无所谓了。

然后一年就真努力了。参加了BJWC B班被灌输了很多听不懂的东西,还见到了浩国荆老师;暑假集训真正学了不少大纲8级以上的知识点;BNDS集训才亲身体会到城里人具体有多强。

但倾斜大量精力于OI的代价就是whk下滑,压力真挺大的。等到高二赛季开始,初赛都有点担心,虽然得到97。然后CSP获得当头一棒,黄题徒劳3h才写出,T2性质也无法发现。红温了。

这为NOIP带来了更大的压力,同时我的训练量也达到了历史巅峰:每天至少一道题。的确很少,但确实是我强度最大的时候了。中间还有 Rubyonly 代课,发现他讲的是真通俗易懂,十分感慨。

心理压力一直持续到比赛的前两三天,身体上因久坐过多很不舒服,我的状态相当不好,也十分没信心。但这个时候我解了一下CSP的T4,贡献延后的trick我并没有见过但我仍然在数学课上做了出来,回家写过了。我发觉我还是有点实力的,不论结果多烂,于是NOIP的时候我状态还算很好。此外,我试图将紫第100留到联赛上,但似乎有几个我写的紫降蓝了,没有成功。

到了场上心态已经完全沉下来了。T1很快做完,具体的,是在8:48交的,状态维系良好。然后就进入了“别笑,你来你也过不了第二关”环节。我在比较早的时间得到了原价非最大的一个模糊判定,再过大概40min得到了准确判定,中间包括一些在T2和T3间的反复横跳,得到了若干T3的性质。然后就瓶颈了,感觉无法数数。心态有点乱了,稳过前两道再打两个暴力的预期似乎无法实现。

难道我要退役了吗?我问我自己。

我尽量做出一些调整。北师大附的环境还是相当适宜的,我坐靠窗位不至于燥热,而声音巨大的DXYZ同款下课铃甚至还有眼保健操都很好。我告诉我说还能争,但这对做题帮助有限。我遍历计数方法的集合试图有所突破。

枚举判定结构中的一元钱位置,终于想到了。

想到之后我立刻就觉得这很自然,简直只能,或者说就该这么做。结构的形式指引我们朝着这个方向思考,而尝试后多出来的前后性质更能使我们确信这么做是对的。可我就是半天想不出来,只能归结于我做题少了。

\sum 2^{n-k}* \binom{j-2}{m-i-1}

这个式子自然很快就推出来了,回家看题解发现除了高贵的组合意义居然还有范德蒙卷积的,%。这是后话。当时其实时间也不晚,写的也不慢,可debug上又出岔子。我的 j 枚举区间有问题,但我却以为式子推错了,手玩若干遍改来改去,完全乱了。也记不清了。

幸好调出来了,交上去时是12:12。

之后不舍得放弃得到的性质,先细读并水了一下T4的纯暴力在12:32交,之后主要去做了T3,真是十分左翼的决策。在那种状态下我毫无汇总性质得出做法的机会,反而T4还有很多未尽思考的地方。到最后3min完全崩溃了,T3没有得分代码。短短几分钟想了很多,亦记不清回忆的是什么了。

出考场后相当悲戚,但后来通过一些交流貌似不少人都不是很高,若干比我强的大佬也折戟了,心情略有平复,但队线大概会高我100分的结果仍不会改变。似已照见我OI生涯的末路。

回家没事找事复刻了T1交上去发现挂了,绝望了。

比完之后,自知希望已经很渺茫,亦相当心累,一直到期末都没有再写题,也没学什么。从之后的情况来看,这貌似对我的水平有极不好的影响,很多不熟的算法基本就忘了,思维和代码能力都下滑很严重。但剩下的时间过短,就算这一个月继续保持强度大概改变不了大的结局,加之恢复课内水平的目的基本达到,也不算有悔的选择。

中间出分发现T1只挂了5分,还是挺开心的。队线跟估计差不多。

假期随便学了一些知识点,其实广泛做一些题可能更好。开学前一周仍然BJWC,于是六次模拟赛共18道题我一道都没写出来,虽然有 O(1) 道题都是差一点。认清现实了。

开学,每天回家补补模拟赛题,常常感慨些什么,但对省选没什么大的感觉。感到这时候我已不适合学OI了,退役也好。

接着便是省选Day1。这时候水平应该比联赛前要弱,但没有压力,所以估摸着发挥应该差不多。然后先看T1发现是期望先跳了,发现后面的题明显难又回来做T1。首先转化成求每条边成为重链的概率是容易的,考察怎么算,指数量级的暴力枚举显然蠢,接着容易想到前后缀拼一下,但我刚想出来的时候犯了两点低智的错误,一是忘了树上不交链总长不超过 n,二是没发现这叫树上背包,于是复杂度被我算成了 O(n^6),呵呵。不久反应过来这个大概是 O(n^3) 的,看起来有48,决定开写。写的很闲散,写出来后没过样例2,瞪不出来于是先细节了一下代码,比如换掉一些奢侈的memset以及把合并前后缀与合并这个节点分开,以确保它就是 O(n^3)。然后我随便测了一下点7,发现只跑了1s。这带来了我决策上的转变,从一时半会调不出来便先打暴力变成必须先写出来T1。

接着是漫长的挑错。因为涉及分数及其取模,手玩的时间成本还是挺高的。我先造了3个 n=5 的树,没查出来(其实是恰巧没造到出错的那个)。但又感觉这题暴力和我现在写法区别不大就也不想对拍,遂把样例2的19个点的树画了出来调,很快发现有个概率乘了两次,有“我去不早说”之感。

此时已花了四个多小时,剩下的时间乏善可陈。试图打点有意义的暴力结果发现之前推的性质大部分都想简单了,于是变成了一个裸暴力一个没写完。回家看了T1的正解,退背包确实明显优但我并没有看明白为什么是 O(n^2),那我场上大概没什么写出来的机会。

Day2。我反思教训,发现Day1我一点追求都没有打的太放松了,试图增加斗志。读题发现两道不写主函数的题蒙了先跳,T3题面又长的令人作呕遂回到T1。先研读评分标准花了很久,大致分出几档,考虑二分的做法来考察无法确定的情形,然后根据 query(1,n-1) 可以得到 a_0 自然想到前后各扫一遍,但当我们找到0之后可以直接反着扫,这样询问次数就变成了 n。这时观察特殊性质一个告诉你只用往一边扫容易确定,一个告诉你扫完就直接对了,那我们确信这个做法是对的。之后花一些时间给了一种比较好写的填法并严格说明了正确性,然后又漫长且艰难地学习如何编译并运行一个代码组。2h做完的T1。感觉来的人应该都会。

接下来3h乏善可陈。啥都想不出来。最后实在太无聊了开始慢慢写裸暴力,最后15min开始追忆过去。结果告诉我又延15min,再怒打4分暴力。

结束了。大抵是宁静的。

今天,26.3.12,出分100+0+12+25.03+0+8=145.03。D1T1真冲过了当然很好,D2T1挂了也无所谓了。这是我第一次在正式比赛上得不少rp分,也是第一次挂大分,也都是最后一次了。

念,不到四年的OI生涯,多少往事如风。想起 Rubyonly 展示做题速度时爆零的线段树,想起 MonkeyKing 出的丁真题和记事本上写代码,想起一年高三成人礼我们在许愿墙的带子上从CSP-J不爆零一直写到IOI不爆零... ...春去秋来,我,也终于从不知道信息竞赛是什么的孩子,成为了曾经遥不可及的退役之选手。我看过不少游记,有翻盘的Au,有遗憾的Ag,亦有省选退役的多数人,也终于该我作一篇游记。无数次幻想的AK或是翻盘,也终成破碎的梦。想来,一切都是必然的,我大概注定在这里退役。或许是师者对我很高的期许带来过高的期望,我一个从没停过文化课,前三年不知城里有多强亦未如何努力,大部分知识都是只知原理和板子水平,做过个位数的黑题,自己想出来的更是只有贪吃蛇一道,不玩原神也不打雀魂的凡人,又如何迈入一省前列,踏上国赛的殿堂?

我遗憾于就此止步,然心知这已是相当不错的结果。曾因缘且热爱,于微毫中来,亦于毫末出,诚然可矣。故事已至结局,徒留下未来之我,常常追忆。

\mathfrak{26.3.7-26.3.12}\textit{\textmd{大兴}}