Competitive Programming Templates Cheatsheet
A curated path through the most frequently used competitive programming templates: basics, data structures, graphs and math.
- A1 高精度加法
高精度加法模板:模拟竖式逐位相加并进位。
2 min read zh - A5 二分查找
二分查找模板:在单调不减序列中查找数字首次出现的位置。
3 min read zh - A8 前缀和
前缀和模板:预处理前缀和,O(1) 求任意区间和。
2 min read zh - A16 对顶堆
对顶堆模板:动态维护序列中位数/第 k 大。
3 min read zh - C1 树状数组-点修区查
树状数组模板:单点修改 + 区间求和。
7 min read zh - C4 线段树
线段树模板:区间修改 + 区间查询(加法)。
4 min read zh - D2 狄克斯特拉算法
Dijkstra 最短路:非负权,堆优化。
5 min read zh - D7 倍增算法(LCA)
倍增法求 LCA:树上最近公共祖先。
4 min read zh - E4 01背包
01 背包:每件物品选或不选,滚动数组优化。
2 min read zh - G1 快速幂
快速幂:二分求 a^b mod p。
2 min read zh