2023.10.21
10/21 12:00
还在过模板()
专程请假润回家半天以为差不多能看完一遍知识点,结果还是没看完。平时总觉得没学啥东西,到关键的时候才感觉到这门竞赛的东西之多。连午觉都没时间睡,路上草草过了下莫队就到考场了。
2:20
坐到考场。监考老师在提醒考试期间不要打游戏,难绷
2:30
开题。
没有选择像去年那样先把四道题过一遍,因为这次来本来就是冲着稳稳做掉第一题拿省一就行的目标来的。于是直接磕t1。t1给定n个错误的五位数的编码,这些编码均由正确编码更改一位或同时更改相邻的两位且更改之差相同而来。求正确编码的可能个数。开始想用差分来做,然后马上否决了。然后就注意到五位数的编码最多只有1e6种情况,且n的范围<=8,完全可以枚举每一种编码然后验证。然后就开始写,一年没敲代码手太生了,改了几次错在3:05时实现,用样例验了一下就扔那不管了。
3:05
之后就有点犹豫,不知道是再看看t1还是接着往后写。怕t1再出锅,毕竟去年还是历历在目。犹豫了一下还是决定直接开后面的题。细致的扫了一遍后三道题考虑了一下做法,t2求所有可以被消去的字符串的连续子序列,t3直接给我上阅读理解好家伙,又是结构体又是字节的,t4树形结构上的问题,看起来挺有可做性。然后就开始看t4。
3:30
t4给定一个\(n\)个空地的森林,空地之间的关系构成一颗树,在空地上生长的树第\(x\)日增长量为\(b_{i}+x*c_{i}\),每天种一棵树求最小天数。考虑特殊性质A,\(c_{i}\)恒为0,那么树的增长量恒定,计算出达到标准\(a_{i}\)所需的天数树形dp即可。尝试敲了一会发现树形dp忘完了(),只能知难而退想t2。此时4:00。
这么一折腾浪费不少时间,赶紧想t2。这种求满足题设规则的所有子序列我向来头疼,在草纸上演草了半天abba,abbcddca这种情况怎么解决,还是一筹莫展。然后就开始研究给的样例,想出来一种最朴素的暴力:扫描一遍序列,研究以元素\(a_{i}\)为中心元素的序列个数,对于aabb这种情况只考虑元素之前的所有情况,abba这种情况就左右搜索。然后发现abbacddc这种前后拼起来形成一种情况的没有办法囊括在内,就声明了mem数组,用\(mem[i]\)来表示以i为结尾的所有情况。搜索时无法与前面的元素拼合时就加上\(mem[i]\),脑造了几个小样例都过了,但是给的第二个样例过不去。折腾一会发现abba的情况左右搜索不仅麻烦而且正确性有待商榷,就改成搜索到第\(i\)个元素的时候考虑以\(i\)为结尾的所有abba情况。这时候才逐渐发现这题应该往动态规划想,开始考虑状态转移方程,此时已经4:30左右。
想出来25分做法:以\(p[i][j]\)表示子序列[i,j]是否是可消除的序列,p[i][j]可以由p[i+1][j-1]和p[i][k],p[k+1][j]转化而来,最后统计一遍p[i][j]的个数就行。时间复杂度\(O(n^3)\)。然后就开始着手实现。到4:50左右过了几个自造的小样例。感觉还有优化空间。去了趟厕所洗了把脸,感觉清醒不少,开始想优化。发现循环的时候\(j\)从\(i-1\)到1,\(k\)从\(i\)到\(j\),感觉有些繁琐,考虑把\(k\)循环优化掉。若\(p[k2][j]\)和\(p[i][k2-1]\)可组成可消除的序列,对于\(k1\)<=\(k2\),也必然能和另一部分组成可消除的序列。\(k\)有序就能把\(k\)这层循环消掉,复杂度变成\(O(n^2)\)。这样就能拿到50分的部分分,试了一下题给样例发现能过。此时5:10。
5:10
还有1小时10分钟,转头考虑t4,t3我是真不想做阅读理解。又硬着头皮想半天怎么树形dp,还是不行。考虑特殊性质B的部分分,树只形成一条链。那就只有一种选择。但是树只由种的那天开始长,这就给计算提升了难度。把第x天第i颗树的高度表达出来突然发现题目给限定条件增长量取\(max(1,b_{i}+x*c_{i})\),这个1就让函数变得抽象,然后就想开摆。此时5:30。
5:30
再读一遍题干突然发现题目保证在\(1e9\)天内达到标准,感觉可以二分答案。开始考虑特殊性质A的二分答案。check函数用计算出每棵树所需天数,然后按照深度和所需天数共同决定选取,能靠后选尽量靠后选的方法写。到实现的时候已经6:10分了,手打了几个样例试了一下都没问题。然后构造了一个特殊的样例发现有问题,小问题,我不是无路可走,我还有死路一条。紧张地检查了一遍发现没有把空地在树中的深度加入权重,此时已经6:20。改完还好过了特殊样例。
6:23
匆忙删去不必要的输出,加上return 0和freopen,最后再看一遍代码就提交了。想要在注释里写下什么话,还是放弃了。坐在考场等待离场的那一刻,不禁回想起这5年来的OI生涯。如果去年t1没有挂分,如果t3树形dp写对了,如果跟杨导讨论割边问题的时候能去实现一下,是不是会有不一样的结局呢?如果我凭此进入了省队,拿了银牌,抑或铜牌,现在是否会不一样呢?又或者我从来没学过OI,从没停过课训练,专心文化课,现在是否也会不一样呢?回首来路,有太多值得感慨。但我现在终究站在高考的赛道上,回首向来萧瑟处,归去,也无风雨也无晴。
t4的自造小样例强度不是很大,不能确定这25分能否平稳拿到。
预估得分:100+50+0+[0,25]=[150,175]。