专栏文章

CSP-S2025游记(FJ)

生活·游记参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@minfeg00
此快照首次捕获于
2025/12/02 01:31
3 个月前
此快照最后确认于
2025/12/02 01:31
3 个月前
查看原文
今年状态非常差,感觉发挥比平时烂了好多
真是的,上次也是这样

赛前

六点多起床,床上躺到七点
喝了一杯咖啡
有人来问我S组考不考基环树,我说不考,结果他把那道星战端出来,就看了一会怎么找环
然后继续翻大纲有没有没复习的,给人讲了一下exgcd,卡特兰数浮光掠影看了下,然后发现CRT和威尔逊定理不记得了匆匆看了几眼就去吃饭
事实证明没用,都没考
考场的风好大

赛中

先全部看了一遍,浮光掠影大致看懂题意,但是只是看懂题意没有进一步评估,导致后两题时间严重不够

T1

被贪心做局了😭😭😭
最开始想了一个反悔贪心,涉及到三个堆互相乱跳,发现相当难写
后来考虑直接人类智慧每个位置都排序,然后一步步填
加上读题大概 40min40min 写完,第二个样例都没过
怀疑是否读错题,读完发现没错
于是打算花 20min20min 把显然的 O(n3)O(n^3) dp写掉混个50分,再特殊性质混到 7070 差不多得了
确实 20min20min 打完了,第二个样例都没过,再次怀疑是否读错题
因为手模太麻烦了,于是又写了一个搜索,反复对拍找小数据
最后用 n=6n=6 的数据拍出来一个,发现是初始边界错了
因为反复的折磨已经过去了进 2h2h ,我的心态开始爆炸

T2

事实上 T1T1 暴力出问题的时候就已经来看看 T2T2 了,发现这题也是个人物
首先就是喜闻乐见的读错题环节,手模了 5min5min 才发现那k个点是新建的点不是原来的 [1,k][1,k]
发现 kk 很小,直接暴力 2k2^k
剩下部分考虑Kruskal生成树
最开始发现如果要新加边进去的话很难处理,于是在想怎么避免,然后想到可以直接各自排好,最后用的时候用类似归并的方法拼起来
既然可以把排序提到外面,那么大头的复杂度就可以去掉一个 log\log ,显然这个时候并查集再用只有路径压缩的 loglog 级别优化就不太礼貌了,写了另外带了启发式合并的 α(n)\alpha(n) 并查集
于是总复杂度应该是 O(2k[nk+m+α(n+k)]+(m+nk)logm)O(2^k[nk+m+\alpha(n+k)]+(m+nk)\log m)
(从来没写过这么复杂的复杂度式子,大概不太标准吧)
这个复杂度相当危险,我认为只能很少部分分

T3

byd为什么我觉得看起来比前两题都有思路
这个时候我只能分给它 1h1h 了,速战速决,暴力就暴力吧
手模一下发现,在 t1,t2t1,t2 有不同的情况下不会出现第一种情况,所以简单了一些
然后如果 t1t1 想要变成 t2t2 ,中间不同的部分一定要被换掉,所以能换的一定是包含它的字串
那么就直接枚举字串,然后往回检查算了吧,这样还能混 1010
结果突然想起来字符串比较是 O(n)O(n) 的,好像连 1010 分都过不了
于是又写了个hash(只剩 15min15min 了,不讲究了,直接单模数hash)
用完hash后发现 nn 的部分可以用map优化掉,加上之后快乐不少,但是还是不一定能过第二块点
继续试图研究,找到一个错误思路,原本的串s直接取两个串不同的部分,随手造出来就是错的
但是依旧有价值,因为发现把不同部分切开后剩下部分可以直接变成前后缀的结构
于是可以记录前后缀hash,中间部分hash出来之后去直接二分check里面的部分是否合法,时间复杂度应该是 O(L+nqlogL)O(|L|+nq\log |L|) 的,第二版部分分能过
但是已经没时间写了😭

T4

10min10min ,极限!
一眼发现阶乘写法,非常愉快地写掉了
想再贪贪 n18n\le 182n2^n 做法,发现时间不够推了
最后剩十分钟得检查各代码情况是否正常
最后 3min3min ,意外发现有全 11 的阶乘情况,当时顾不了判断其他了,直接赶着写了个阶乘上去,应该混不到分

总结

仔细想想,这次真正投入认真想题推演的时间很少,很大程度上是因为我 T1T1 心态崩了
T1T1 心态崩了是因为耗时过多,这里就涉及到时间规划的问题,先浮光掠影地看题是没有什么意义的,真正需要的是看完题之后进行评估
以及T1这个边界问题很严重,不止一次了

等着NOIP吧,如果能进的话
一定得想办法调整每一次的考试状态

评论

1 条评论,欢迎与作者交流。

正在加载评论...