摘要:
算法笔记:贪心算法核心模型与进阶 贪心算法的核心在于“局部最优解能否推导出全局最优解”。这组题目展示了贪心策略的几种主要推导方式:排序、数学绝对值、哈夫曼树、差分思想以及相邻交换证明法。 1. 基础模型:排队打水 (短作业优先) 来源文件:排队打水.cpp 🏷️ 题面抽象:$N$ 个人排队打水,每 阅读全文
posted @ 2026-05-16 20:09
r_123
阅读(3)
评论(0)
推荐(0)
摘要:
数论进阶笔记:同余等价与扩展欧几里得算法 1. 同余等价与差分 GCD 模型 来源文件:106396E.cpp 🏷️ 题面抽象: 给定两个长度为 $n$ 的数组 $A$ 和 $B$。求一个最大的正整数 $k$,使得对于所有的 $i \in [1, n]$,都满足 $A_i \equiv B_i \ 阅读全文
posted @ 2026-05-16 19:54
r_123
阅读(4)
评论(0)
推荐(0)
摘要:
优先队列与多路归并进阶笔记 优先队列(堆)不仅可以用来求极值,更是解决“第 K 大/小问题”和“有序状态转移”的核心数据结构。以下按难度递增整理了五种经典模型。 1. 基础模型:两个有序序列的第 K 小和 来源文件:P_1631_序列合并.cpp 🏷️ 题面抽象:给定两个长度为 $N$ 的升序数组 阅读全文
posted @ 2026-05-16 19:46
r_123
阅读(4)
评论(0)
推荐(0)
摘要:
算法笔记:状态扩展最短路与分层图进阶 在传统图论中,最短路通常只维护到达点 u 的最小代价 dis[u]。但当题目引入了“限制条件”(如免费次数、奇偶性、速度、疲劳值)时,一个点就不再仅仅是一个点,而是一个多维状态。我们需要将 dis[u] 扩展为 dis[u][state],在状态空间中跑最短路。 阅读全文
posted @ 2026-05-16 19:39
r_123
阅读(4)
评论(0)
推荐(0)
摘要:
算法笔记:倍增思想与 ST 表进阶应用 倍增思想的核心在于利用 $2^i$ 的步长进行预处理和跳转,将线性的 $O(N)$ 遍历优化至 $O(\log N)$ 或 $O(1)$。 1. 基础模板:ST表求区间最值 (RMQ) 关联文件:模板.cpp, P_2880_USACO_07_JAN_Bala 阅读全文
posted @ 2026-05-16 19:32
r_123
阅读(4)
评论(0)
推荐(0)
摘要:
Dijkstra 进阶:双关键字与多维权值最短路 在常规的最短路问题中,我们只需要维护一个 dis 数组。但当题目出现多个维度的代价(如距离、花费、心情、特定物品数量)时,我们需要在优先队列和松弛操作中引入多关键字比较逻辑。 1. 基础多关键字最短路:逃离石楠花大学 来源文件:T_594366_逃离 阅读全文
posted @ 2026-05-16 19:18
r_123
阅读(3)
评论(0)
推荐(0)
摘要:
Dijkstra 最短路算法进阶与扩展笔记 1. 基础扩展:最短路计数(难度:⭐) 来源文件:P_1144_最短路计数.cpp 题面抽象:给定一个无向图,求从起点(节点 1)到所有其他节点的最短路径的条数,结果需要取模。 核心思路:在标准 Dijkstra 的最短路更新逻辑中,挂载一个用于记录方案数 阅读全文
posted @ 2026-05-16 19:03
r_123
阅读(3)
评论(0)
推荐(0)
摘要:
算法笔记:单调队列与滑动窗口进阶 单调队列的核心在于“如果在你之后入队的人比你强(或者更符合条件),那你就永远没机会了”。通过维护一个双端队列(deque),存储原数组的下标,并保持队列内部对应元素值的单调性,可以实现 $O(n)$ 复杂度下的区间最值查询。 级别一:定长滑动窗口(基础模板) 对应文 阅读全文
posted @ 2026-05-16 18:52
r_123
阅读(3)
评论(0)
推荐(0)
摘要:
最小生成树(MST)进阶算法与优化笔记 1. 基础模板:Borůvka 算法核心思想 来源文件:boruvka.cpp 问题抽象:给定 $n$ 个点和 $m$ 条边的普通图,求最小生成树。 算法思路: Borůvka 算法是多源并行的 MST 算法,非常适合解决边数极多(如完全图)但边权有规律的连通 阅读全文
posted @ 2026-05-16 18:17
r_123
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号