6.30周总结

07/01/2025

T1 没做多久。

最大的问题还是 T2 没做出来。T2 其实已经列出来递推式了,但是我以为边界只能暴力,所以没做出来。其实正解就是可以注意到当 \(x\) 固定时,\(f(r,x)\) 之和可以直接算出来,所以可以从小到大枚举 \(x\),对于每个 \(x\) 解个方程就行了。自己推的离正解只差一步,但是由于思考方式比较死板,没有观察出来性质。

T3 这个题感觉比较好,需要充分理解构造 BST 的过程,然后可以发现除了 \([l,r]\) 区间内的数,剩下的形态已经固定了,然后这种中序遍历的题可以设计区间 DP,每次枚举当前区间内 BST 的根去转移,最后可以用四边形不等式优化。这体现出之前对 BST 的理解不够深刻,以为 BST 只能 \(O(n^2)\) 构造,DP 能力也还不足。

T4 没有怎么看。正解要算贡献,先枚举 \(\min\)\(\max\),再去看此时 \(x\) 有没有可能在连通块内,然后可以使用点分治优化求解。算贡献的能力和意识还是不强,像这种点分治的题感觉上也总想不到用点分。

总的来说就是找性质的能力还不足,以后做不出来题的时候可以换换脑子,找找有没有其他有用的性质。对于一些算贡献的题,有时候总想正面求解,但通常无果,对于一些直接算比较难的问题,可以考虑算贡献。DP 已经是老生常谈的问题了,还是需要通过练习来汲取经验,总结技巧,不断提升自己的 DP 感觉。

07/03/2025

A 题感觉人有点蠢,以为对于每个环的生成函数直接分治 NTT 时间复杂度是错的。实际上分治树的高度只有 \(\log\),一个长度为 \(len\) 的多项式(分治底层)只会被计算 \(O(\log n)\) 次,NTT 还带一个 \(\log\),所以时间复杂度就是 \(O(n \log^2 n)\)。其实还有一种就是用类似合并果子的方法去启发式合并,每次取出两个当前长度最小的多项式去相乘,然后用堆维护就行了,也是 \(O(n \log^2 n)\) 的,但是我好像忘了序列上也可以启发式合并了(?)。算每个多项式的系数倒不是很难。

B 题还好,对这种正难则反然后钦定第一个不合法位置的技巧还比较熟悉。本来可以分治 NTT,但是由于常数有点大就推了个生成函数,然后解了个方程,理论复杂度是 \(O(n \log n)\) 的,看起来比分治的 \(O(n \log^2 n)\) 好,不过常数大也没什么太大的区别。

C 题没想很久,因为前面花的时间比较多,而且感觉这题是数据结构,想出来了也不一定写得完。其实想的方向是对的,就是对于每个操作去算一个贡献,然后用树剖乱维护一下就能做到 \(O(n \log^2 n)\),但是没想太久就没有把流程走完。

D 题看到这么复杂的期望直接跑了。像这种问题通常都是利用期望的线性性,反映到本题上就是枚举联通块数量,然后去算对应的概率,最后相乘再求和。而像这种有标号无向图上的计数 / 算概率,直接求解困难的话一般都可以尝试一下使用指数型生成函数再加上多项式 \(\ln\) / \(\exp\) 求解。本题就可以套用有标号无向连通图计数的方法来解决。看来第一次学指数型生成函数的时候没怎么学懂,今天重新看了一下,再补了这个题后感觉理解就要深刻很多。

总结一下,以后分析复杂度的时候还是要理性一点,不要只凭感觉乱估。常数问题的话,写的时候一定要注意,能写小常就不要写大常。再者就是学知识的时候一定要吃透,不懂得要及时提问或者参考网上资料去消化,不然指不定哪天就会付出没吃透的代价。这次还有一个问题就是时间分配不尽合理,以后要注意每道题都要留充分的时间思考,不管是在线比赛还是离线比赛都要注意策略。

发现一个可能有用的卡常技巧。比如说 \(2 \times 10^5 \log 2 \times 10^5\)\(1 \times 10^5 \log 1 \times 10^5\) 虽然量级上看起来是一样的,但是由于常数问题,前面可能会比后面慢非常多。所以卡常数的时候可以注意一下上下界的问题,不要直接顶死到全局的极值,可以考虑在局部的极值范围内求解,这样在一些比较慢的 OJ 上卡常时效果可能比较明显。

07/05/2025

打得不太好。

T1 是我个人非常不擅长的博弈,做了近 40min~1h,最后发现结论很简单。赛后看了题解的证明方法,感觉还是很妙的。这种题做的确实太少,也不太清楚到底怎么做。

T2 没做出来主要是忘记了像这种 \(i\)\((a_i,b_i)\) 配对的题目,除了可以 \(i\) 分别和 \(a_i,b_i\) 连边,还可以在 \(a_i,b_I\) 之间连边,而前一种方法运用到这道题上就显得比较困难,后一种的话其实非常简单。感觉之前的技巧掌握的还是不够牢固,有点生疏,要继续加强巩固。

T3 其实离正解已经非常接近,但是由于经验不足,不清楚类似三元环、四元环计数的题目怎么做。听了评讲之后大概会了。今后要在日常的训练中不断的积累技巧与经验,这样才能在考场上更快的找出对应的方法。

T4 主要是有点想偏了,这种染色问题一直在想根号分治,但是这东西显然不好维护修改。正解是分块,与常规的分块一样,需要处理块内的和散块的信息。其实考试时也想过分块这一方向,但感觉有点麻烦就没有细想。做题的时候还是要灵活一点,一种做法不行就要及时更换另一种。

总结一下:像博弈题,之后应该会讲一些博弈技巧,学习时要认真学,有时 CF 上也有博弈题,也可以做一下。之前学过的东西学的时候要学扎实,有条件的话可以定期巩固一下,不要出现因为遗忘而导致的做不出来。要通过日常练习来不断的积累经验技巧,来熟练地在考场上应用。一个方向不行就要及时变更思考方式,这也是老问题了,要格外注意。其实这次比赛的策略执行的还可以,后面的题后不太会的情况下骗到了很多分,今后如果遇到实在做不出的题也要像这样尽可能的去拿多的分,毕竟 OI 不是计题数的,是计总分。

posted @ 2025-07-03 19:07  gevenfeng  阅读(17)  评论(0)    收藏  举报