想写一篇CSP2019游记,然后发现NOI2019的还没写,所以先补上NOI2019的游记。NOI因为年代有点久远,所以细节记不大清了。

NOI2019

day -2

人在广州,刚下飞机,准备退役(bushi)。

去看起来有点高档的餐厅吃了好吃的。

day -1

报道日。

day 0

上午开幕式,有点好看。

下午笔试,旁边坐着zhouyuyang。和他都迅速做完了,然后无所事事不停检查。最后都顺利阿克了。比去年顺利,因为没啥值得错的题。

晚上去了国家队见面会,南外教练与samjia和yjz讲相声,有点意思。

睡眠质量一般,大概睡了5h左右。不得不说有点紧张。

day 1

上了考场,打开题目,T1一眼秒了是个斜率优化,T2是个计数,T3是个最优化。决定按顺序做。

开始想T1细节,我的做法要线段树维护凸壳。“怎么这么难写啊?”看了一下部分分发现暴力高达84,准备弃疗去写暴力了。

想了一下感觉不能这么快放弃梦想,所以还是不紧不慢把T1写完了。写完的时候已经过去了1h,记得去年做完T1的时候才30min,略微有点慌。

开始做T2。先看错了一会儿题,看对题后发现有个直接区间dp出一个笛卡尔树的做法,一下子没有什么优化的思路。然后仔细看了下题面感觉状态数不是很多,打了个表发现确实不多,那么就至少有50分了。

对于后面的分想了一段时间,然后发现可以记个类似本质不同种类数的东西,用背包合并的方法转移。复杂度看起来有点高,于是又打了个表算复杂度。发现拿95分绰绰有余,100分有些困难。于是放弃梦想开始码。码完发现确实只能拿95分,如果要跑100分,3s的时限目前是5s,也卡不太动常于是就跑路了。

然后把T2的暴力和暴力拍了一下,感觉没啥问题。拍了下T1发现wa了一片,仔细调了一下是INF相关的问题,改对后就过拍了。

这时候已经将近11点了,开始做T3。想了很久一点思路都没有,甚至连平方都不会,只会28分的裸dp,有点自闭。于是先打了个裸dp。然后看看能不能卡常到40分,也惨遭失败。后面又开始乱写了一点hall定理贪心之类的东西,都很难通过样例,所以直接弃疗了。估分223

出考场,问了周围的人感觉都200多分。神O说他T1打了暴力但是过了T2,我真的膜拜。dxy教了我T1的pjz做法,感觉自己好弱智,可能放高一的时候还是会这个简单做法的吧。后来又有人扒出了T1的原题,发现自己高一做过而且当时写的就是pjz做法,真是水平一年比一年低。

然后就是紧张刺激的等分环节。我们一群人感觉自己铁定要挂分,于是开始背古诗词预示自己的结局(bushi)。

查分发现没挂,T3还多了4分,所以day1有227。学军的zzy高达280,还有一些人260+,还有一些人240+。身边的人得分都差不多,除了J和yww稍微低了一点。

然后又传来各种小道消息,比如什么day1队线190,220+有前20之类的。感觉自己分还行,就是差距不太大。

day 1.5

开心的社会活动日,玩了博物馆。这段期间一直和学弟cy呆在一起,他day1 200分,我们一路上畅想如何退役。

(不对啊,他才高一,退役个锤子,要退役也是我退役。)

然后又和O与yww等人愉快玩耍,不过他们都在打麻将,我也不太会玩就看着。

下午打了很久羽毛球,被吊着打。哪有人和我一样,OI水平又低羽毛球又菜啊?

教练开了会,让我day2尽量放轻松正常打。

晚上还有国家队见面会,上台给修修带了怡宝,差点就浇他头上了(bushi)。

见到了家长,收获了鼓励。

可惜晚上睡眠十分糟糕,一宿没睡。感觉如果day1很崩(肯定进不了队)或者很牛逼(肯定进的了)都不会那么紧张吧,这种考得一般般处在薛定谔的进队态的心态是有点难受。

day 2

睡眠糟糕也没救,去买了三瓶星巴克的浓缩咖啡,然后拿风油精往太阳穴上涂,强迫自己提神。

进考场前看到scape,被奶了一口。发现scape是幕后黑手有点慌。

上了考场,打开题发现T1长得像个数据结构,T2是个计数,T3是个交互。看起来题风比较正常,就没那么慌了。

看了下数据结构一眼秒了个KD-Tree优化最短路的做法,看了一眼部分分发现有88,那还想啥正解啊,放弃梦想开始码码码。很快就码好也和裸暴力拍上了。

T2既然是个计数,花了很久来做却没啥收获,写了个40分跑路。

这中间scape常常过来围观做题情况(出考场知道他是T2出题人),真的丢脸。我找他要矿泉水,一下给了我三瓶。

然后开始做交互。先写了暴力,然后想了一些关于二进制的做法多拿了一点分,发现这个做法可以一直扩展到56分。一边写一边拍到了40多分。

看了下时间发现才过去两个半小时,算了下总分感觉能上500,感觉还行,于是开始一边幻想进队后的生活一边接着拿T3的分。最后弄到了56分。这时候还剩下一两个小时,就一直在不停对拍和检查了。估分184。

出考场先碰到scape,他说他感觉我day2有个150就能进队了。然后有听说有人阿克还有一堆高分,发现自己200都没上有点惨。这时候只能祈祷不挂分了。

然后和cy一起经历了感觉是人生最漫长的等分环节。然后在出分前半小时提前py到了得分,发现高达180挂了4分。不过总分507肯定是稳进队了,于是开心地去打了羽毛球,只留下cy一个人忐忑不安。

到了正式查分环节,发现居然是T3挂了4分,因为第一个点判包判错了。看来昨天多拿的4分今天还回去了,分数守恒。逛了一圈,发现神O、dxy等人肯定是进了,又碰到一些熟人发现也肯定是进了,J强势翻盘也进了,yww和zjt把我吊着打。当时估分集训队线460左右,cy总分481,所以觉得cy也进了,可是他自己觉得不稳。

朱老大创了集训队群,开始拉人。拉了cy结果他马上就退了。然后和其他人一起去thu换了保送约。签字的时候忘了安徽的徽字咋写,惨遭thu老师嘲讽。

这时候又传来各种小道消息,说什么集训队线可能480+往上跑,cy十分慌张。于是进入了等榜环节。

最后六点多终于出榜了,发现队线477,cy以第48名的成绩进了队,陪他去pku换了保送约。50和51同分,于是51的老哥被noip杀了。

发现自己如果day2 150刚好会被noip杀,需要考151。

感到十分可惜的是,一些很强的人却退役了,比如论文哥、麦老大、司队长还有zhoutb。前任候选队员戴大爷居然也退役了。

晚上和大家一起愉快玩耍。

day 3

上午是愉快的趣味运动会,感觉很多项目十分好玩。

下午闭幕式。看zhouyuyang碰杯.jpg。

闭幕式完了下了雨,紧急跑路走了。

day 4

去玩了动物园。

后续

zzq拿了IOI金牌,所以51名的老哥也替补进了队。

CSP2019

NOI之后立刻集训了一段时间,不过当时满脑子都是当混混人以及茶颜悦色真好喝.jpg,所以天天都在浪。

然后NOIP就没了,然后又有了CSP。

之后就没有做过模拟赛了,更没有做过联赛模拟。尽管常常会给学弟讲联赛模拟题,实际上都是在口胡或者对着题解瞎编。自己唯一的做题就是集训队作业,感觉思维能力和代码能力都在下降,老年选手的末路.jpg。

11.12

讲今年CSP在whyz考,第一次在芜湖本地考机试。

这一天特派员来whyz看准备情况,然后要测试机器啥的,所以和cy一起被教练叫过去帮忙干活。对我而言就当试机了。感觉体验挺好的。

得知要在选手之间加隔板,我觉得非常好。

day 0

学弟们去试机了,我直接鸽了,把兔女郎剧场版给看完了。

尽管这次联赛对于高三选手而言利益无关了,但是还是想要好好考吧。

初三的NOIP,因为day1T1的编译错误就只有三百多分,当然就算不CE的四百多分也不高就是了,确实水平不行。

高一的NOIP卡了day2T2,没来得及做day2T3,然后又挂了点分,获得了465的高分。如果那次noip考得高个几十分就可以进省队了。

高二的NOIP又卡了day2T2,然后又没来得及做day2T3,然后又挂了很多分,获得了437的高分。最后貌似成为了集训队中联赛的倒数第三名?(倒数第二是学弟cy)

总结一下,高中的noip都想着AK,结果水平确实又达不到所以就卡题,然后就没了。最终,考了三年的联赛都没上过500分。今年当然也想着阿克,但如果水平不行还是算了,所以先定了个考上500分的小目标。反正,无论如何,认真对待这次CSP。

day 1

感觉自己高中后的联赛每次day1都能口头阿克,所以上考场的时候不太慌。

对面坐着论文哥。

发了解压密码,打开题目开始看。

第一题题面怎么这么长,格雷码是什么牛逼东西,感觉难度有那么一点高。耐着性子看完了题,感觉直接写个函数solve(n, k)输出n位格雷码的第k个数递归下去搞一搞就好了。飞速写完然后过了所有样例,过掉。

第二题看完第一反应是用把栈给hash的那个trick,但是当时想的是直接hash栈里面的字符(就是左括号右括号啥的),是个假做法赶快丢了。毕竟联赛的第一天第二题大概也不会多难,冷静一下发现初中的时候做过链上的版本,拿个栈优化一下dp就好了。飞速写完了然后过了所有样例。测到第三个样例看到114514的时候发现对面的论文哥露出了奇怪的笑容,估计也在测这个样例吧。

看了一下才过去半个小时,剩下三个小时做T3应该没啥问题吧?

打开T3开始想。一开始没啥思路。后来想了一下感觉,题目描述的是一个不太可逆的操作,具体而言就是把一个数换过去就再也换不回来了。然后接着想,如果确定了把一个数从S移到T的路径,是不是讨论一下链上交的情况就可以了呢;仔细想了一下也没啥好的条件。于是选择去上了个卫生间。

上卫生间的时候感觉,好像是在做对边删除顺序确定了一个order的事情,也没想太清楚于是回来接着推。搞了一下发现,对于每个点的顺序是独立的,路径就是在限制一个点的相邻某两条边需要紧挨着的关系,大概贪心的时候拿个链表维护一下就可以了。然后就开始码。码完发现无法通过小样例,原来是连边的时候不能出现环的case,于是加了个并查集;然后发现还是没法通过小样例,模拟了一下发现还需要考虑一个点相邻边第一个和最后一个被删除的事,于是补充了这个case;然后发现还是有小样例过不了,发现不能出现连好了一条从头到尾的链但是没有覆盖所有点的情况,于是补充了这个情况。最后终于通过了所有小样例,测了下大样例发现也全过了。看了下时间,发现快到10:30了,所以还剩下一个半小时多。不太想写代码对拍了,挂了就挂了(bushi),所以就在不停肉眼检查,中途又上了个厕所。期间感觉论文哥一直在苦思冥想没动键盘。

感慨了一下,感觉这个题是近几年出得最好的一道day1T3,至少比13~18的day1T3不知道好到哪里去了。

考试结束发现好像就我过了T3,一开始有点诧异,仔细想想好像确实有点难度,我也是碰巧想到了做法才会做的。然后大家都是10分,也有学弟号称写了链和菊花的部分分,不过正确性也无法保证。然后T2被cy教导那个hash栈的做法也是可行的,只是栈里面需要记的事下标而不是字符,感觉很有道理。

出考场打开群,大家对这个T3展开了激烈的讨论。

回家给kkk写了个简单的评价就睡觉了。晚上和班上刚考完模考的同学出去看了场《海上钢琴师》顺便逛了街,心情比较愉悦。

day 2

考虑到每年day2必挂,有点慌。

进考场到发题之前打了个BM,为了应对去年day2T2那种鬼题。

打开发现T1是个计数,有点诧异。首先无视了不超过一半的这个特殊条件,想了一下一般情况咋做,发现不太会,不得不带着不超过一半的特殊条件继续想。然后就想到了抵消法求众数的做法,一开始没想到算不合法的方案直接冲上去就做,写了个dp记当前保留的数和次数的做法,写着写着发现不太靠谱,停下来接着想。发现算不合法方案直接枚举众数,然后用抵消法写个dp就可以了。赶快写着过了所有样例。看了下时间发现都过去半小时了,问题有点大。

打开T2,想了好一会儿一点思路都没有,想到每年都要被day2T2安排的经历,吓得赶紧跑路去看T3了。T3看完基本就会了,枚一下每个点计算成为重心的次数就可以了,随便整个数据结构维护一下即可。然后写了个主席树过了所有样例。看了下时间发现已经十点了,所以只有两个小时来做这个T2了。于是打算先做T2再拍T1和T3。

然后不停想T2,一点思路都没有。上了个厕所回来,感觉可能可以乱贪心一下,于是就写了个找每个元素能分的最小的段分的做法,一开始写的n^2,惊讶地发现居然过了所有能过的样例,于是赶快写了个n^3的dp拿来拍,开心地发现拍上了。然后把贪心用单调队列优化到了线性,准备开始写高精度的时候,发现自己gen写挂了没输出type,所以压根就没读入,怪不得拍上了。把gen改对发现全wa了。有点难受,只好先把n^3的dp优化到n^2准备64分跑路。结果发现n^3和n^2的dp又拍不上,查了一下发现是答案爆long long了,于是把gen的A调小了,这时候发现原来的贪心又能和dp拍上了,于是写了一个分包,n小的时候跑n^2的dp否则跑线性的贪心。这时候还剩下20min。感觉离满分就差个高精度了,开始码码码码。最后写完发现爆空间了,看了下时间只剩下10min不到了,只好把高精度的部分删完,预期88分跑路。

这样,自然也没有时间来检查T1和T3了。就这样出了考场。

论文哥day2和我五五开。其他选手感觉都考得一般,貌似很多学弟一道题都不会做,有点可怕。

打开QQ,得知了一些选手阿克的消息,比如rqy。

两天总分估分588,感觉说得过去了,至少比前两年好得多。

所以,高中阶段最后一次联赛,就这么结束了。

11.20

发代码了,测了一下民间数据感觉应该没挂分。不过本校学弟貌似考得不太理想。等出分了。

出分日

没挂分。大概在有生之年当了一次安徽之王。