摘要: 分块算法被称为“优雅的暴力”,它是一种通过将数据分成若干个大小相等的“块”,从而平衡修改和查询时间复杂度的算法思想。 在信息学竞赛中,如果线段树、树状数组等高级数据结构难以实现,分块往往可以作为一种“保底”甚至首选方案。 核心思想:根号平衡 分块的核心在于一个简单的数学观察:如果将长度为 \(n\) 阅读全文
posted @ 2026-05-04 15:42 RonChen 阅读(8) 评论(0) 推荐(0)
摘要: 扫描线是计算几何中一种非常经典且高效的算法思想,它的核心逻辑是将多维空间中的几何问题,“降维”处理。想象一根无限长的直线,例如垂直线,从左向右在平面上扫过。随着直线的移动,只关注与扫描线相交的那些对象,并实时维护它们的状态。 例题:P5490 【模板】扫描线 求 \(n \ (1 \le n \le 阅读全文
posted @ 2026-05-04 10:24 RonChen 阅读(4) 评论(0) 推荐(0)
摘要: 求有多少 \(1 \sim n\) 的排列 \(p\) 满足对于任意 $i = 1, \dots, n $,有 \(p_i \ne i\)。 方法 1(递推):\(D_i = (D_{i-1} + D_{i-2}) \times (i-1)\),其中 \(D_0 = 1, \ D_1 = 0\) 第 阅读全文
posted @ 2026-04-23 19:03 RonChen 阅读(6) 评论(0) 推荐(0)
摘要: 在算法竞赛中,博弈论问题通常涉及到两名玩家轮流操作。要理解复杂的博弈模型,通常从最基础、最经典的 Nim 游戏 开始。 Nim 游戏 Nim 游戏是博弈论中最基础的模型。 游戏规则 有 \(n\) 堆石子,第 \(i\) 堆石子数为 \(a_i\)。两名玩家轮流从任意一堆中取走任意数量的石子(至少取 阅读全文
posted @ 2026-04-03 21:25 RonChen 阅读(33) 评论(0) 推荐(0)
摘要: 容斥原理在组合数学中用来求 \(n\) 个有限集的并集的基数(又称势,即集合元素个数)。设 \(n\) 个有限集分别为 \(S_1, S_2, \dots, S_n\),那么它们的并集的基数可以表示为:\(|S_1 \cup \cdots \cup S_n| = \sum \limits_i |S_ 阅读全文
posted @ 2026-03-28 09:00 RonChen 阅读(28) 评论(0) 推荐(0)
摘要: 引理 1:\(C_{p}^x \equiv 0 \pmod{p}, \ 0 \lt x \lt p\)。因为 \(C_p^x = \dfrac{p!}{x!(p-x)!} = \dfrac{p(p-1)!}{x(x-1)!(p-x)!} = \dfrac{p}{x} C_{p-1}^{x-1}\), 阅读全文
posted @ 2026-03-27 20:48 RonChen 阅读(12) 评论(0) 推荐(0)
摘要: 在线性代数中,线性基是一个向量空间的基。在算法竞赛中,通常讨论两种线性基: 异或线性基:针对整数的异或(XOR)运算。 实数线性基:针对实数向量的加法和数乘运算(通常通过高斯消元实现)。 异或线性基 对于一组数 \(A = \{ a_1, a_2, \dots, a_n \}\),它们的异或线性基 阅读全文
posted @ 2026-03-21 12:02 RonChen 阅读(21) 评论(0) 推荐(0)
摘要: 在算法竞赛中,高斯消元法常用于求解 \(n\) 元一次方程组。 一个包含 \(n\) 个变量和 \(m\) 个方程的线性方程组可以表示为: \[\begin{cases} a_{11}x_1 + a_{12}x_2 + \dots + a_{1n}x_n = b_1 \\ a_{21}x_1 + a 阅读全文
posted @ 2026-03-14 10:23 RonChen 阅读(36) 评论(0) 推荐(0)
摘要: 当需要将 \(N!\) 分解为质因数的乘积时,直接计算阶乘再分解显然不现实,因为 \(N\) 稍大时结果就会巨大无比。勒让德公式提供了一种优雅的方法,可以直接计算出 \(N!\) 中每个质因子的指数,而不需要计算阶乘本身。 勒让德公式:对于任意质数 \(p\),阶乘 \(N!\) 中质因子 \(p\ 阅读全文
posted @ 2026-02-28 20:49 RonChen 阅读(25) 评论(0) 推荐(0)
摘要: 单源次短路径指的是在某个无向图 \(G=(V,E)\) 中,给定某个源点 \(v\),由 \(v\) 到其他顶点的所有路劲中长度为次短的路径,单源次短路径问题是单源 \(k\) 短路径问题的特例。对于一般的单源 \(k\) 短路径问题,可以通过扩展 Dijkstra(要求没有负权边)算法来求解。 例 阅读全文
posted @ 2026-02-10 09:50 RonChen 阅读(6) 评论(0) 推荐(0)