GDOI2022游记
@
Day -1
考前好像写题状态不太好(可能是纯粹的懒)。
开始写板子,很多算法都很久没碰了,有的调了很久才过。树剖都调了一个多小时,身败名裂。不过想想省选应该不怎么考算法就没有重写了。
顺便记了一些可能会用到的数学式子,毕竟数论这个玩意感觉考场再推容易浪费时间。
好像完全意识不到这一场比赛的重要性,可能是我这样吊儿郎当才能保持好心态吧(笑
Day 0
上下午把剩下的板子写了翻了翻学习手记就差不多出发了,这次居然能住酒店,想起来上次住耀华的时候还一帮人挤在在厕所充电。
好像比赛也在酒店比,不过酒店看上去很豪华,登记完之后就回房间了。没有写题的打算,所以爽快战斗了一会就到吃饭时间了,还等着教练来叫我们统一出去吃饭结果有个人送了盒饭过来,看上去防疫管理还挺严的。
然后晚上实在没事干又感觉没啥好复习的,打了会奥日,然后洗澡刷牙之类的拖拖拉拉到很晚才睡。
转念一想疫情之后打比赛不能出去玩,游记都不知道写啥了。
Day 1
早上起的不算晚,不过也没有很困,溜下去吃早餐。酒店早餐好像还行,拿了点炒饭面包吃,可惜没有咖啡,我自己也没带又懒得买。
环顾了一下周围的人,似乎大部分都是深圳那块的。吃早餐的时候看了会板子。
然后去考场门口等开考,刚好无聊就来了一波传统艺能,单手风屿环节(依旧不是我)
发现只有一间考场,人不是很多,应该只有二三十个?
然后进考场等着,可以带水和吃的,这是好的。
之后就是念考场纪律啥的,然后发密码了,竟然一次输对力。
先看一遍题目,T1看起来不太好写,大模拟你罪大恶极。T2是一个计数。T3又是字符串,不过这个字符串操作应该只是来恶心人的,逝构造题,看上去比较网络流。
然后先开始写T1,给了字符串和char数组的读入方式,稳一点还是用char数组吧。然后没仔细算时间犹豫了一下要不要用哈希就写了个自带模数的哈希+暴力展开。
然后检查了一下就去写T2了,一眼值域很大,应该是一个类似离散的东西。然后电脑突然关了,后面的人不小心碰到插头了,还好我T1已经保存了。
想了一会,枚举一个最大值,那么对于每个可以选的值应该是一个常数要么是一个和最大值有关的一次函数交替的形式,而且这种交替最多发生四次。所以考虑分出若干段来,每一段的乘出来就是一个最多\(n\)次的多项式,然后用拉插插出\(\sum_{i=l}^ri^k\)就可以求了。
然后我思维就一直局限在枚举最大值的那个点是哪个了,发现有一种能提前枚举区间然后子树转移的方法,不过这样如果一种方案里有多个最大值就会被统计多次,然后想了很久也不知道怎么优化这个部分。
这个时候已经浪费了差不多两个多小时了,心态有点炸裂,只好火速放弃写一个枚举最大值点的\(O(n^5)\)暴力了,中间发现两个地方容斥会好写很多,然后写出来之后发现第二个样例过不去。调了近一个小时发现有一个地方不能容斥,改了一下过了样例,还来不及写求和的那个部分了,预估只有\(28\)分的样子。
然后只剩下半个多小时了T3还没开始碰,只能放空脑袋光速润去看T3,发现不输出方案也有分,也就是有一些白送的分,性质B可以直接输出楼上和楼下的个数,性质A每个个数和需求取min就好了。
然后潦草的检查了一次就结束了,考场上就感觉是考炸了,出来发现大家都觉得很难就不太所谓了,虽然我因为刚T2还很菜导致我的分数肯定是在下游的,希望Day2能翻盘吧。
而且出来之后听同学说T1可以define成空,我这样做事指数级的,估分 -40
稳了会心态,毕竟明天还有翻盘的寄会
下午摆烂了一会和同学联机饥荒到挺晚,然后发现夏日重现昨天更新了!!!
拉人一起看完就睡觉去了。
Day 2
早上迷迷糊糊爬起来,然后赖床赖到近七点(好像?)才起来。
然后正常吃早餐,没啥新东西,看了会板子。
发现吃完还有挺长时间才进场,就打了会Phigros,福利自动爆出现maxcombo刚好是300,这就是我今天的分数了(?
开考看题目,T1是一个质因数分解的计数,应该不会很难?然后T2又是nmd括号,T3是一个和CSP2019D1T3很像的题,但是有一个二叉树的限制不知道有啥用。
然后去写T1,看到\(s_i\leq 2000\),质数个数大概是\(400\)个?(偏差可能很大,毕竟我忘了)。想起来一句至理名言:“看到n=400我们应该第一时间想状压。”,发现这题确实可以根号一下,然后写了个程序算了一下大概有\(14\)个数要状压,然后剩下的质数比较大可以直接分开计算,然后算了一下复杂度应该差不多就很快写完了。
又没有大样例我调啥,自己把根号的那个界改小了一下测小样例差不多了就先去看后面的题了。
去看T2,想起来WC那道就考虑括号树吧,那么操作就是把一个节点自己的所有子节点丢到另一个兄弟节点下面。然后推了一下发现肯定是优先把同层了的给合并最优,这样就是序列的问题了。
结果我把\(x=0,y=1\)和\(x=1,y=0\)想成一样的了,然后就很快的写完了这一(两)种情况
(我是个智者!)
然后\(x=1,y=1\)的情况想了一会,发现直接贪心从小到大往后丢到底就行了。
快写完的时候发了个本场考试唯一的大样例,但是全是\(()\)的,啥错都调不出来。
然后T3,从CSP那题的思路开始想,每个点那里有个交换序列,那么这个度数不超过\(3\)的限制应该给我们暴力枚举交换顺序的,这样的话有一个\(O(n^4)\)的\(dp\)很好想,就是设\(f_{i,j,k}\)表示点\(i\),传上去了数字\(j\),传下去了数字\(k\)时子树的传递答案。
然后这个\(j\)枚举的时候只需要枚举子树里有的,这样就是子树枚举,所以这样搞是\(O(n^3)\)的,有\(44\)分。
又没有大样例,出题人****。
然后检查了几次考完了,回酒店收拾好东西出门拍了张照片就该溜了。
车上悠闲地听着歌,因为不知道自己挂了分,来自虚空的感觉良好,将接下来一切交给命运。
然后坐车回校,中间和教练家长一起吃饭,喜欢在饭桌上整尬的😥。不过防止隔离所以不能回家就直接回校了。
Day 3(+)
因为是最后一次了,原本不打算提前测的,但是来电脑室了还是忍不住用小图灵查了一下分。
然后一看自己的分数只有二百出头,发现自己D1T2和D2T2,不过小图灵上没有两天T3的数据,在GD排到了二十多。
去洛谷测了一下D2T3,寄了,这下好了,全炸了。
加上第一天的T3我也是大众分,感觉应该是没啥机会翻盘了。
写游记的时候不是很记得当时的情景了,只记得还有课要上,然后浑浑噩噩地上完课,晚修,回宿舍睡着了。
Day ?~?
天天上课的时候都很困,是时候好好补一下whk了。
后来官方数据和分数好像出了,出乎意料的是好像D2T2T3虽然写挂了都给了一些分,其实D2T2我的\(x=1,y=1\)是对的,但是小图灵那边没啥这种点。
但是D1T2还是挂了,三个多小时->0分 。
不过好像有点转机,在小图灵上测的排\(18\),不知道有没有初中的在前面,如果算上noip的话说不定有机会。
之后几天小图灵又跑了个排名出来,我是第\(16\),前面有个初中的,应该是进了吧。
Day ?
出了,以最后一名进了省队。运气有点好,挂了这么多分都能进。
挺戏剧性的吧,这么多年的努力不至于戛然而止。
该好好反思了一下,可能省赛前真的太过懒散了,很难再找回高一的时候努力的感觉了。