时间安排
未删减版被我忘保存了,导致我现在只能尽量复述我当时写的东西
8.00-9:00
搞T1,先分别写了前两档的暴力分,k的数据范围很大,很容易想到矩阵乘法,但二维的矩阵太大了,我不会搞,考虑能否找循环节,码完以后发现大数据几乎没有循环节,陷入困境,尝试往图上问题套,发现循环节这部分就可以转化成一个环,把一个图划分成几个联通块,每个就是一个环,故遍历每个联通块找环,针对每个环解决问题即可,复杂度On。码完以后发现存在问题,对拍没问题,大数据却过不去,检查一会儿发现数组并未越界,盲猜是系统栈炸了(可我不会开大),最后又检查很多遍才放心的去提交
9.00-9.10
审T2,但看了好几遍都没看懂题
9.10-9.30
开T3,40分的暴力很好打,直接暴力建边dij一下就行了,优化最可能的是在建边上减少边数来加快dij,这个套路在之前比赛也用到过,继续深度思考却没想出来什么有效信息
9.30-9.40
看T4,感觉和T1好像,但套进去还是有很多不一样的,一时间不知道该怎么搞
9.40-10.00
脑子死机,出去吸冷空气提神
10.00-10.20
重新振作,并多了很多新的想法,比如再看T2,看懂题目了,第一档分其实就是明着说只有8个字母,你可以写暴力,但我算了复杂度发现如果卡满的话,显然过不去这道题,检验的复杂度要遍历整个数组,是1e5的,太高了。而满分的其实就是26个字母减去6个字母,一共20个,状压dp暗示的太明显了,状态显然是选了哪些放入字典序中,然后根据转移来确定每一位的位置,可我不会写状压dp…
10.20-11.00
再看一遍T3也有了新的想法,既然要减少边,那就想想怎么贪心,发现只需要连两边最近的不同颜色点即可,贪心正确性可以证明,写出来以后对拍出现错误,思考后发现这个贪心的正确性是基于相同颜色的可以互相走这个性质的,但题目没有保证,思考如果强行保证,不会影响最终答案,又调了一些必要的细节,才放心过掉此题。值得一提的是,在这道题的对拍过程中,数据太难构造了,要么答案是n-1,要么是-1,我都不敢确定自己的代码到底对了没,所以加上了分段
11.00-11.30
勇敢冲剩下两题的暴力,最后一题由于m貌似没有限制,但n和k都很小,可以想到m的后半段都是冗余的,那强行把m改小,必然不会影响答案,针对这个性质写了T4的暴力。T2的暴力就还是根据上面的思想,写了一个复杂度假的暴力
11.30-11.45
检查代码
11.45-12.05
再次盯着T1看,找自己是不是真的数组越界了,当我把整个dfs的内容掏空,只剩下框架时,依旧RE,那我只能确信是爆栈了
赛后反思
整体上看,还是很成功的
反复检查最起码保证了两道题的AC
丢分在于T4的暴力没有拿到,时间紧,细节上可能出错,并且没有构造小数据检验,把样例过了就跑路了
T2的状压dp依然很伤,不会状压dp真的太痛了