2026.4.30.C2

Class 2

P4878 [USACO05DEC] Layout G
有关差分约束,要写出这题,需要完整的理解我们跑最短路是在干什么,详细见文章


145. 超市
可以尝试使用反悔贪心的简单题,给可能没见过的人补个盲


P16265 [蓝桥杯 2026 省 Python B 组] 蓝小圈

有关启发式的简单问题,很多时候,某些算法的时间复杂度并没有我们想象中那么大,
比如并查集的启发式合并

并查集常用路径压缩,任何实际上路径压缩后,其实会丢失一些路径的信息,导致难以维护我们想要的信息,但其实仅仅使用启发式合并,并查集的复杂度就很优秀了,查询和合并都是\(O(logn)\)的时间复杂度

值得一提是,这样的话,我们的并查集可以实现撤销最后一次合并的操作,即可撤销并查集,想要详细了解读者自己去了解


E. Minimum Path Cover

很多时候考虑质数比考虑约数更好
顺带一提,这题的思路的发现,也是非常常见的思考方向,即一定程度上放宽问题条件去求解
对于这题就是把树退化成链,发现可以很简单的求解,然后我就不多说了,读者自己尝试思考


有关约数和质数等简单常识补充

满足调和级数 \(\mathcal O\left( \dfrac{N}{1} +\dfrac{N}{2}+\dfrac{N}{3}+\dots + \dfrac{N}{N} \right)\),可以用 $ \approx N\ln N$ 来拟合,但是会略小,误差量级在 \(10\%\) 左右。本地可以在500ms内完成 \(10^8\) 量级的预处理计算。

N的量级 1 2 3 4 5 6 7 8 9
素数数量 4 25 168 1‘229 9’592 78‘498 664’579 5‘761’455 50‘847’534

除此之外,对于任意两个相邻的素数 \(p_1,p_2 \le 10^9\) ,有 \(|p_1-p_2|<300\) 成立,更具体的说,最大的差值为 \(282\)

因数最多数字与其因数数量

N的量级 1 2 3 4 5 6 7
因数最多数字的因数数量 4 25 32 64 128 240 448
因数最多的数字 - - - 7560, 9240 83160, 98280 720720, 831600, 942480, 982800, 997920 -

经常因为这些数导致算法超时,所以需要合理评估自己算法的时间的上界
有关约数个数的估计看网上的文章,当然,你也可以用这些数去尝试hack别人的代码


posted @ 2026-04-30 09:50  PL330  阅读(9)  评论(0)    收藏  举报