省选2020退役记

6.22上午。结果还没出来,大概是AFO了,一想到昨天发生的事情,还是有些窒息。

Day -14~-1

停课了。

每天上午一场模拟赛,又额外做了近两年好多省选真题,清了清知识点,学了多项式ln和exp,打熟了很多不熟的板子。教练想让我进A队,学长也想让我省选翻qzh,好多人把希望寄托在了我身上,我也不想辜负,于是只能尽我所能,这期间尽量把不会的一一练到。

对A队其实并没有抱太大的希望。我联赛是第5,A队4个男生,在我前面的4个都是很难翻的,并且在我后面的人里,小智是一定会翻上来的,别人不是很了解。虽然进A队希望有些渺茫,但是想把我挤出B队的话,按理来说也是很难发生的。

只要尽到努力,就顺其自然吧。已经奋斗了快两年,过去这个坎,剩下的就是在拼一个半月,去NOI摘取胜利果实了。

Day 0

试机。

今年省选由于特殊原因,不是在军工举行。哈尔滨的选手在三中,其他市的在佳一。作为主场选手,我应该会发挥的更好吧。

上午为试机布置了下机房,模拟赛不是很想打,所以敲了几个担心自己写不熟的板子,多项式、动态dp之类的。下午稍微颓了颓,还是免不了些许紧张。

下午六点半,试机时间,见到了好久不见的附中同学。如果没有疫情,省选前的集训,我们两个学校应该是一起举行的吧。电脑就是平日里训练的机器,处理器I5,系统是Windows 10,用VMWare装了NOI Linux的虚拟机,给了一个小时,下发的题是NOIP的D2。平时用着顺手的Emacs在NOI Linux的虚拟机会出各种奇奇怪怪的锅,所以配了下vim,快速写了meal的正解、partition的88分,然后再写centroid。没写完,应该是主席树出了bug。还好,状态不是很糟,明天应该会很好的。

Day 1

座位被random_shuffle了,我坐在靠门第二桌,gqs右边。他联赛是rk1,我或许能沾些大佬的气息。

发题。按照以前的题,D1T1应该是能切的,所以先看看T2和T3有没有比较sb的暴力,先拿到手,然后切T1。

T2的40分随便写写就有了,先拿到手。后面的分的话,大概推了推,用斯特林数搞了下,挺怪的一个式子,先放着。

T3第一眼看到“笠笠和伦伦”,出题人显然老巨人粉了。看题面,大概先有个线性基+贪心的暴力,实现应该挺恶心的,先把T1写了再来搞吧。

看T1,读了下题,题面有点绕。想了一会,概括了下,大概就是动态维护$S_1$和$S_2$两个数组,每次修改后需要找到一个下标$i$,使得$S_{1i}$的前缀和与$S_{2i}$的后缀和的较小值最大。想了下,只要数组元素全部非负,那么前缀和必然单调增,后缀和必然单调减,那么他们的较小值就是先增后减,所以只要找到交点就可以了。数据开到了$2 \times 10 ^ 6$,应该是需要单$\log$解法,树状数组二分多个$\log$显然不行,线段树的话跑这么多也很虚,替罪羊树节点少,和线段树一样二分可能常数比线段树小很多,但是怕写不明白,于是就写线段树。如果离散化,答案可能不一定是某个冰火人的温度,也可能是它$+1,-1$,还是动态开点比较好搞一点。

写了一遍,跑了下大样例,发现能量值是对的,但是下标有时候可能不是满足这个能量值的最大值。改了好几遍树上走路的函数,还是过不了,这时候我已经有些慌了,去了几趟卫生间冷静冷静,或许应该在树上再走一遍路才能出答案。研究了一下,发现如果在二分一下,需要依照能量值由冰人还是火人决定来分类讨论,写两个函数,这时候剩余时间已经不到一个半小时了,调锅用了太多时间。动手写,一遍一遍出锅,debug,忙得焦头烂额,还好最后剩不到20分钟调出来了,复杂度是单$\log$,应该是正解,如果不是正解,我就想不出更好的解法了。这期间,我看旁边的gqs也挺手忙脚乱的,大概也是出了挺多锅吧,最后应该也是调出来了。T3没空打了,我应该是100+40+0,很差劲,很难受,如果不一直出锅,开了T3,或者实现下T2那个斯特林的式子,怎么也能多拿二三十分吧。

赛后问了下,T1不离散化常数较大,应该只有90分。教练在QQ发了代码,用手机看了下,发现自己T2交上去的是30分暴力而不是40分,很想以头抢地尔,冷静了下,10分而已。认识的好多人打得都比自己要好,我不知道联赛这点微薄的优势是否能支撑我苟在省队,还是需要D2翻盘。

gqs今天状态不是很好,但是听说铃酱打了200+,切了T1和T2,这次队长应该是他了。

晚上想了下,省选应该是必考一道字符串的,而字符串最容易抓分的就是sa或者sam。sam我只会打板子,sa用得比较熟,复习了下做过的题,比如字符串问题、制胡窜、你的名字,切了下loj刚拉上来的那个bjoi的字符串题,就是sa+线段树随便搞搞。明天考字符串的话,如果不是制胡窜那样的压轴题,应该切掉是没什么问题了。

D2翻盘还是很有希望的,去年mxy在D1基本是爆零了,结果D2翻了盘,进了省队,后来拿了Ag。我D1怎么说还有100多分呢,没必要太紧张。

Day 2

事情就发生在昨天,不愿回想。

路上害怕到了考场,一紧张,脑子会充斥流行歌曲的旋律,所以在耳机里放了一路的肖邦的黑键练习曲和激流练习曲,听这种练到吐、熟得不能再熟的曲子,以此放空大脑,让自己不再紧张。

去早了。来到校门口,只有大徐来了。跟他聊了聊,听说线段树会被卡常卡到60分,他写出了树状数组的单$\log$ lower_bound。他一说,我就突然明白了,难怪之前不会,树状数组当初是觉得代码挺短直接背的,现在都没想着返回去,看看它的原理究竟是如何,只需要简单倍增一下就能lower_bound了。

进入赛场,坐在自己电脑前,发现Linux虚拟机进不去,跟监考申请了下换个位置。希望这个小意外只是个命运的玩笑,而不是个坏兆头。

希望今天的题能合自己口味一点,而不像D1打得那么惨。不能紧张,不能头铁,要拿出联赛打全校第一的状态啊。

打开题,一道字符串没有,想打人。

先拿点暴力分吧。

最sb的暴力有30+10+30,先拿到手。

看T3,想了会,会了70分,就是个矩阵树。在想想应该能切,于是就开始研究了。当时自己为什么这么想,为什么不是拿完70搞前两题,真的不愿意去回味了。我只知道,感觉自己要研究出来了,抬头一看表,已经不到一个小时了。

30+10+30,听别人在讨论什么“压掉一位”,“ushort”,“dsu”什么的,根本不想去参与。走出机房的那一刻,只感觉不甘、悔恨、委屈,一齐涌上了心头。

我只知道,尽管赛前对自己百般嘱咐不要头铁,但这种事终究没有受自己意志的控制。

我只知道,本来向往着在NOI拿Ag的我,却连NOI的门票都拿不到。

我只知道,快两年的努力付之东流了。

我知道,自己既然选择了拼NOI这条路,而不是联赛退役,就理应背负起更多不确定性,理应接受努力与成绩更加不对等的结果。可是,到了今天这一步,对于拿Ag,强基破格入围的愿望已经提前化作泡影,自己的意志骤然消沉,无法避免。

我知道,仅仅是妄自菲薄,默默哭泣,解决不了任何问题。但是在这样的打击下意志消沉,不是人为可以控制的。我无法强迫自己快速走出阴霾,但是却早晚有走出的一天,只能顺其自然了。

可我还是不甘心。

我辜负了很多人的期望。

就像所有人都认为2018年的RNG会冲向S冠,却倒在了八强一样。

如果今年不是按标准分算,而是和以前一样省选和联赛参半,我或许会不那么紧张,不会这么差劲。

如果今年像河北那样按照联赛录,我或许就直接进入了省队。

如果xtx、qzh没有留级,占着省队的名额,我也不会被挤出去。

如果……

然而事情已经发生,不会在改变,何来那么多如果,何来那么多“凭什么”。

结果已经注定,与其自怨自艾,不断找客观原因,不如从今做好自己。

决定命运的只是成绩,而不是你具体有多少实力。失败的本质原因,不仅是实力不足、努力不够,更是缺少平静的心态、缺少成功者所具有的“大将风范”。

3分钟可以写完Dinic,5分钟可以写完FFT,8分钟可以写完平衡树,15分钟可以写完动态树,可是这又有什么用呢?

如今已经“置之死地”,不管打了胜仗还是败仗,省选都已经过去,需要做的是“而后生”。

古时候,有一个人,背着一个花瓶,长途跋涉。即将到达目的地时,他摔倒了,花瓶摔得粉碎。他不看地上的碎片,抛下包袱,头也不回的走了。路人问询,他说:“对于过去的碎片,哭泣毫无意义。”

也许,我现在就需要找到这种与过去一刀两断的决心吧。

高考还有一年,一切尚未结束。

既然觉得,省选的自己对不起联赛的自己,那就找回联赛的自己,拿出最好的态度,迎接未来的挑战。

拜托了,另一个我!