NOI2018游记
带着约出去的:(p)大,全国赛去了(60)分,(rank)前(100)一本。还是(pkuwc)时候的约,(sc)的约太烂了,根本拿不出手。
至于状态嘛,感觉自己自从(pkusc)爆炸回来之后的状态就一直很迷。对于这次全国赛能不能进前百补偿一下(pkusc)的血崩,我始终只是持一种消极的态度。
Day 0
上午去了趟机房。下午出发去雅礼洋湖。
依旧是熟悉的校园,熟悉的赛场,熟悉的黑网吧,只是选手们心境不再堪比当初吧。半年前坐观台上神仙打架的吃瓜群众们,如今成为了这次竞赛的主角。对于不少(OI)选手来说,全国赛的意义完全等同于高考。
而我,一个被淹没在人群之中的萌新选手,又能不能实现自己的一点突破呢。一切都是未知。
Day 1
上午试机赛。原来笔试是塞在试机赛里面考的。
还是有点紧张的,毕竟笔试这种东西一旦丢了分就很难受。
结果还是...(mbox{AK})了。看来前几天的突击复习还是挺有效果的。
开幕式什么就算了吧,不想做任何评价。
Day 2
早上起来除了有点迷糊之外,精神状态还不错。
先开T1。花了五分钟想到了并查集,又花了五分钟想到就是求联通块内到(1)的最短路。(8:40)的时候写完了离线的(65pts),然后立马想到(mbox{Kruskal})重构树,半个小时写完,并且拍上了。(当然是和离线拍)
接下来去写T3。目标比较明确,就冲着前面的(68pts)去的。想到对(S)建(mbox{SAM}),然后(T)在上面跑匹配,求(T)在(S)中出现了的本质不同的子串个数,再只要求出(T)中本质不同的子串个数就行了。
但是不太会啊。于是写了个每次匹配到一个位置就开始暴跳(mbox{fail})的大暴力,然后过了大样例。
写T2的时候状态明显就没有开场时候那么好了。没有发现任何可利用的性质。于是就(dp[i][j])表示选出子集为(i),二倍逆序对数减去(sum_i|i-p_i|)的值为(j)的方案数。手动观察一下(j)的状态是(O(n^2))的,所以复杂度就是(O(2^nn^3))。
打表发现卡特兰数的规律。但是!我居然忘记写了!这很伤!
下考前回去给T3的暴跳加了个(mbox{break}),骗自己这个的复杂度是对的,顺便手动查出T2的模数写成了(99824353)。T1觉得很稳,看着多组数据的情况下该清空的数组都清空了,就没再去多管了。
预估得分(100+32+68),实际得分(70+32+68)。
我看到成绩的第一眼居然还在为自己T3水到了(68pts)兴奋。
T1不知道为什么会(mbox{WA}),自己拿着数据测,发现一个点只错一行。而且貌似还是某一组数据的第一行。
我把每组数据开头的(ans)清空成(0)。它就过了。
......
我曾预想过很多种多测而未初始化的(mbox{WA})点,其中包括访问超出给定长度的数组(你期望那个地方是(0),但在上一组数据中那里可能已经被改过了),但我从没预想到过会因为(ans)没清空而掉分。
不止一个人对我说,你(ans)为什么要开全局变量。对此我也很无奈:我写的每一道但凡要用到(ans)的题,我都会把它开成最后一个全局变量。这也许已经成为了我个人码风的一部分。我不认为这是一个坏习惯,但是,这种因为个人习惯翻的车,仿佛冥冥间就已经注定自己要被打败一样,让人心里非常难受。
讲完题(mbox{wh})说(200pts)是(rank70+)的样子,这又是一记闷棍,敲在我不堪重负的肩头。在接下来的时间里,“要是我T1过了,那前(100)不就稳了”的念头回荡在脑海,犹如魔咒般挥之不去。我终于体会到了Day 1挂分的痛苦:在Day 2开考之前,你将会无时无刻不忍受着心中的那份懊悔与自责,尽管已经深知这无济于事。
Day 3
社会活动日,活动地点韶山。
高二集体咕咕咕。自己本也是不想去的,但一想到自己不去也不怎么会搞学习,就硬着头皮去了。
(13:30)回到学校,然后一觉睡到了(16:40)。
晚饭后也是一直待在寝室里面,(22:00)就熄灯了。
Day 4
猝不及防的,我在二试的前一天晚上,失眠了。
(22:00)熄灯,我最后一次拿手机看时间是(0:34),应该至少是(1:00)之后才睡着的,而且睡眠也很浅。
早上起来没有迷糊的感觉,但是的确精神状态很差,早饭都没什么胃口。开考前跑去小卖部买了罐运动饮料,企图强行提神醒脑。
T1花了十分钟看出来是一个扩展中国剩余定理的板题,但是发现自己已经不记得了。(主要是(x)前面的那个系数对思路起了很大的干扰)
从(8:38)看出是板题之后,(8:58),还是不会写;(9:28),写个了错的(CRT),发现样例(mbox{WA})了。
(10:00)了,仍处于爆零状态!
整个人心态爆炸,在有着传统工艺与现代科技双重制冷的考场内已是大汗淋漓。花了十几分钟平复了下心态,写了T1的(75pts)部分分(实际上可能并没有(75pts))。
接着是T2T3的裸暴力。T2用(mbox{bitset})路径判交,由于不知道(mbox{bitset})怎么快速找到(1)的位置所以复杂度依然是(O(nm^2)),可能第(3)个点都过不了。T3写了(20pts)的(O(2^nn^2))状压。
写完两个暴力(12:00)。这时候心里想的全是:认命吧,(zsy)你个菜鸡高一就想签一本,做梦去吧。
突然我觉得我似乎可以挣扎一下,然后。。。我好像会做T1了!系数直接除过去(乘逆元)并且判一下无解就好了!
然后就,顺理成章地切了T1,也算是没有辜负(mbox{wh})昨天讲的所谓“最简单的题”吧。
自己手玩T3的时候画了几棵树结果一条哈密尔顿回路都没找出来,就if(n>20)puts("0")
了一波。
预估得分(100+15+20),实际得分(100+15+25)。
发挥不错,但是也没办法翻吧。
讲完题后听菊开说队线算笔试(449),算了一下自己离队线差了(39)分,要是Day1T1没挂就只差(9)分了。不过,现在说这些都也没什么用了吧。
跑去找谢总和李姐姐。得知叶佬进队了,(lst)学姐也进了队线,应该可以拿到一本约吧。
(YL)教练走进来,谢总问他队线以及(Au)线,前(100)线之类的。
(Au)线(437)。——“我不挂分我就(Au)了。”
前(100)线(389)。
???我进前(100)啦?
的确有些出乎意料。一试的挂分,二试垂死挣扎后的绝地求生,终究换来了回报。
发现自己恰好是(ABCD)一百名,当然协议上的排名是不算(D),自然是可以前进一些的。
于是也就顺理成章地,一本了?
高二那边,叶佬菊开进队了,(lst)学姐顺利签到(t)大一本,(jesseliu),(jian'gou)老师跟(Hankpipi)都换到了(p)大一本。然后歪歪比也拿到了(t)大(60)分。
不算是完美的结局,但也是个(Good Ending)吧。
而这对于高一的我来说,也是一个崭新的开始吧。