前言
感觉自(CSP-S)以来水平应该还是有一定长进的吧?
比赛前一天(21:05sim23:20),(Codeforces)上恰好有一场(Rating)在(2100)以下都能打的(Div.2)比赛,结果最后几分钟把(F)题调出来了。这波直接涨了(295Rating),感觉一下把攒了好久的(RP)都用完了。。。
考前闪总毒奶,告诉我绝对不会考高精,绝对不会考字符串,绝对不会考构造,我还很自信地补了句绝对不会考拓扑。比赛后才发现全被我们说中了。。。
(Dec 5th)
进了考场,我坐在一排的最边上一个位置。
发现一个很奇怪的事情,整个考场好像只有我旁边的那个位置是没有安排考生的,而那台电脑明明很正常地开着。
好不容易等到了公布解压码,听老师说就是“选手加油”和今天的日期交错在一起,结果一时脑抽把今天日期记成了(12)月(15)号,试解压码试了半天。。。
先看(T1),就一个拓扑裸题。
一看没取模,又看题目里给了这么多限制,自信认为开(long long)足矣,直接下一题了。
再看(T2),看完题目就打了发(O(n(ln n+26)))的暴力。
算复杂度的时候忘记乘上数据组数了,就以为能跑过。
自己造了组极限数据(全是a
)测了测,发现要跑(10s)多,就把双哈希改成单哈希,一下就变成了(3s)多。
尽管还是过不了,但结合上次(CSP-S)时(T4)的(O(nlogn))算法跑(5 imes10^4)莫名跑了(2s)多的经历,以为又是电脑太慢,便接着去看下一题了。
恍恍惚惚已经过了一个多小时,不禁有些慌张。
(T3)画风似乎与传统的(NOIP)不相符啊。。。
先试了试(checker),发现它(CE)了。一看原因是有个变量名没定义,果断开了个(C++11)就过了编译。
发现(40)分的暴力挺好想的,先果断写了一手,这种东西居然还能写错一个小细节调了好久。
暂时弃掉(T3)先去看(T4),首先码好一个枚举每个位置出发的大暴力。
写完去上了个厕所,脑袋里突然冒出了很多(T4)相关的想法。
感觉可以枚举每个操作,计算以它为最后一个操作的贡献,然后第(x)轮时的贡献应该可以表示为一个与(x)有关的(k)次多项式。
一兴奋就立马开始写了,先写完暴力,发现有些细节,结果暴力直接调上了一个半小时,才跟先前写的超级大暴力拍了起来。
然后就是把暴力优化下,加个自然数幂和上去,又调了半个多小时,好不容易和暴力拍了起来。
一看时间只剩半个小时了,一下慌了起来,也顾不得去想(T3)正解了,随手加了几个贪心剪枝上去(后来想想好像这些剪枝没啥软用,并不能起决定性优化)。
回头一看(T4)发现居然拍出问题来了!
急急忙忙去调试,幸好只是一个小问题,两三分钟就找到了。看来对拍还是挺有用的。
最后剩下(5)分钟,也没什么能干的事情了,索性就对着代码发呆到结束。。。
出考场,听见有人说(T1)要开高精,同时仔细一想发现(T2)复杂度是假的会(T)掉,登时慌了。
不过闪总依旧告诉我(T1)不可能要开高精,而且(T2)的话(CCF)少年机一定跑得飞快。
但他对我的单哈希表示“不敢苟同”,告诉我很可能判挂。我仔细一想好像确实是这么一回事,直接带上了伤心面具。
后记
成绩出了,居然有(90+92+40+100=322)。
最后一题没挂掉还是可喜可贺的,前两道题虽然没过但和满分也差距不大,(T3)分数倒确实偏低了。
发现(T2)双哈希好像因为常数只有(84)分,看来改单哈希还算是一个正确的决定。但我也不知道如果有下次自己是否还会有改单哈希的勇气了。。。
不管怎么说,这次成绩还是不错的吧,至少一等应该是比较稳的,不至于闹着退役了。