CSP-S2019 游记

本来想等到真实成绩出来的,但是那样就要等太久了。

前记

NOI后就一直处于自闭状态,时常从梦中惊醒,梦见自己在各种各样的OI比赛场景中自爆。
有一场5个小时的比赛好像是大众分150-,场上一直在调假算法,出来后一问别人发现有一档分很高的暴力没写。
有一次出来后发现忘加文操了。
还有一次应该是noip,D2T2好像是个差分约束;然后别人都总分接近600,我总分400-。
很多细节记不清了,但是它们确实存在过。

过去的沉痛往事,即使在白日的欢声笑语中已被忘却,但是在内心深处的魔幻梦境之中,它们一直在那里。
岁月能抚平我的伤痕吗?
还是在更深刻的伤痕中才能渐渐淡忘先前的回忆?
可是在我获得答案之前,新赛季的征程就开始了。

赛前一个月的联考里,眼看着别人轻松阿克,而自己却只能提交漏洞百出的暴力来证明自己的存在;至于只会三道题都不会的时候,想想自己这种平凡的有机物也没有什么存在的意义,便放弃了交卷。

rating比一年前还低的小号,低的可怕的模拟赛排名,我陷入了无限的自我怀疑。
我真的拿过NOI Ag吗?
当时运气这么好的么,现在怎么联考排名比NOI(去掉高三)的排名还低好多呢。
我今年真的去过NOI吗?我真的学过OI吗?
仿佛又回到了两年前的无力,但是我已经失去了未来两年的希望。
仿佛又来到了那一个个从梦中无助惊醒的夜晚,大口喘息着,庆幸幸好只是梦。
可是看起来梦要变成现实了。
我要开场写暴力,再看看T1能不能做。
按照去年经验,如果这样还gg,那我就退役吧,至少不会因为死磕正解滚粗而不甘心。

赛前的几天睡眠质量很差,每天早晨都在深秋的寒意中,早早地脱离熟睡,想要一跃而起却又动弹不得,在对起床铃与困意的双重恐惧之间徘徊。

第一天前夜跟妈妈交流了一番,感觉心情舒畅了些许。
出于本能的好奇心,对之后两天的题目甚至还有些小小的期待。

Day1

早上打开题,玄学原因倒着开题,按照计划先想部分分。
发现T3一条链好像挺明显的,再冷静了一下发现菊花好像也不是很难,可能要加边的同时维护一个环状物。似乎菊花的做法可以直接推广到树上。
再看T2,好像dfs的时候对前缀和维护一个桶就行了。
再看T1,这时才开场20min,开始动键盘吧。似乎要用 unsigned long long,应该问题不大。

然后T2好像一开始没想清楚,合法括号序列除了和为0还要求前缀和非负。
手画了几个折线图发现好像还是能处理的,感觉比前两年D1T2难多了(虽然讲道理去年D1T2要是写同余最短路也没那么简单?)。
这时大概才9:20,还有很长时间,可以慢慢对付T3。
快速写了一发前面的算法后以为能跟去年一样在90min-的时间里AK,
大概9:40~9:50的时候写完并且样例RE了。

有点小慌。
再看眼题面,发现我看错输入格式了。
再看眼题面,发现我看漏条件了,好像每条边都要至少动一次,而我先前并没有加上这个约束。
冷静了一会发现在头尾加上两个虚点应该可以解决。
这时是十点零几,我还没AK。看见左前方的yhx还在要草稿纸,想必今年大众AK时间应该大于90min。
不用慌,大不了剩一小时的时候去补暴力退役。
时间还比较充裕,我可以再想想算法正确性的证明,冷静了一会发现还挺明显的。
再看眼题面,发现我把权值和点的编号弄反了,相当于要最小化的东西弄错了,鈤。
冷静了一下后发现问题不大,改改就过大样例了。
这时大概才10点半,去上了趟厕所。
回来后T3造了个随机数据,发现小于0.1s,再造了个菊花,跑了1.3s,写了个阶乘暴力开始拍。
T2测了测极限数据,感觉很稳,写了个能跑7000的三方暴力开始拍。
T1写了个 O ( 2 n ) O(2^n) O(2n) 的暴力拍n=20。
回去看T3发现挂着前两题的拍再跑菊花要2.2s,考虑到少爷机非常快就没卡常了。
回去看T2发现链的数据三方暴力就跑不出来了。
中途发现眼查T3的时候发现少了句话,我tm怎么过的大样例和拍的,数据这么难造的么?
加完发现不加也是对的,虚惊一场。

还剩20min的时候开始加文操。
考试快结束的时候,整个人处于一个极度紧张的状态,生怕文件名打错或是MLE。
听说你检查过了?
但是错误永远在你想不到的地方。
你还是打开代码再编译一下,看看上一次检查有没有手抖多打进去一个z。
freopen 文件名参数,编辑器上边沿显示的文件名与文件目录,还有试卷的第一页,全部的注意力都凝聚于这三点之上,唯恐三者的拼写出现丝毫偏差。
最后一次按下Alt+F4的时候,手是微微发抖的。

出考场后一直处于一个自我怀疑的状态,甚至开始怀疑T3的并查集有没有加上路径压缩。
不过转念一想,我今天就是爆零,结果至差不过滚回去高考。
如果协议被撕,高考也滚粗了呢?或许可以做点容错性高的工作,现在社会生产力这么发达,饿死应该是不至于的。

下午回到学校后接了下母亲的电话,发现自己轻微丧失语言能力,说话有点结巴。
骑车去宝龙城找午饭吃。
参观了一下互联网时代中高端传统实体餐饮的运营。
瞄见几个“衣冠不整请勿入内”,摸摸自己的口袋,默默回到学校附近随便找了个地方吃。
回来后语言能力并没有恢复,可能是因为过于紧张的状态没有从内心深处得到缓解。
好像跟今年CTS Day2后的情况一样,可能是因为上午成绩难得没有遗憾,担心明天(CTS时可能是NOI?)滚大粗破坏了比赛整体表现的某种美感?又提起NOI的伤心往事,唉。。。

晚上没干什么事,不过语言能力似乎得到了恢复。

Day 2

早上打开题,继续倒序考题。
发现T3的类似问题我之前看到过,当时觉得poly log太无聊了,于是花了1h想出线性算法。
结果这题n才30W,评测机又那么快,根本没有继承之前卡(常/log)的良好传统。
不过那个O(n)可能有点细节,不知道写不写得完。
先看1吧,第一眼只会 n 3 m n^3m n3m,感觉比前两年D2T1难多了。再冷静一下发现可以只记录差,然后就能 n 2 m n^2m n2m 了。
再看2,发现一眼64,看起来只要我拿下13,2写暴力,就能踩爆前两年了。
这个时候大概是开场20min,还是别跟前两年一样,13不一定写得完的时候还妄想能切2阿克。
过完1大样例后稍微冷静了一下开始写3,以为细节会很多,结果9点20就写完了,9点30调过样例,9点40不到开始拍,发现极限数据RE了,查了好久发现是我T>5,输入文件过大炸fread缓冲区了,鈤。
大概9点50几的时候已经13到手了,我们来看看这个2,按照惯例肯定有什么好的性质。
先猜了发结论,假了后是10:03,去上了趟厕所,路上发现,好像把每一段的和尽量抹平是最优的,稍加改写就得到了正解的结论。
回了后看时间还比较充裕,就先冷静了一会证明,发现不会证。
用结论写了发 n 2 n^2 n2 暴力,能过样例4,5。
然后边想证明边想怎么优化n^2,还是不会证明,但是 n 2 n^2 n2 好像可以优化到线性,单调栈就可以了。
但是答案不保证在longlong范围内,还得写高精度。
这时大概是10点半左右。
又冷静了一会证明,还是没什么好的思路。
不如先莽一发过个大样例,大概11点的时候写完了,然后调了会输入格式,卡了卡空间,到11:20才拥有可A代码。
之后就是写了个三方来拍,因为不知道结论对不对。
11:35左右想内嵌暴力,觉得要是真的要用上暴力,嵌个三方的太亏了,然后差点以为两方暴力要斜率优化。
由于时间紧迫,两方暴力开了两个5000*5000的longlong数组,嵌完发现M了,草。
大概还剩13分钟结束,一气之下把 if(n<=5000) 改成 if(n<=400) ,改完只剩十分钟了。
出考场时心态稳健,没有像昨天一样幻想自己饿死街头爆零滚粗。
下午出去聚餐吃烤肉非常开心。

联赛就这么结束了,新的赛季不知不觉中觉过去了三分之一的时间。
看着机房里新高一的选手们脸上的惶恐,似乎和去年的我相差无几。
就要北大集训了,省选和NOI仿佛还有点遥远,却又与人生的尽头一样近在咫尺。
多少美好的瞬间永远地封印在回忆之中,又有多少悲惨的结局一点一点被亲手铸成铁的现实呢?
我并不知晓答案,忧伤,迷茫。

但CCF又咕咕咕了,这我还是知道的。

个人感觉文章从前到后有个文风的转折,可能是因为渲染气氛和记录事实两个不同目的导致的?

你可能感兴趣的:(CSP-S2019 游记)