AcWing 模板总览与章节索引

这个页面按章节整理常见算法题型,目标是做到两件事:

  • 章节划分清楚,方便查找
  • 每个章节都能快速找到对应模板

使用说明

建议把这个页面当成一个总索引:

  • 学新章节时,先看这一章有哪些固定题型
  • 刷题时,先定位题型,再回查模板
  • 复习时,按章节逐个过模板

目录

  1. 基础算法
  2. 数据结构
  3. 搜索与图论
  4. 数学知识
  5. 动态规划
  6. 贪心与综合技巧

章节笔记直达:


基础算法

章节笔记:基础算法章节笔记

二分

适用场景:

  • 答案具有单调性
  • 左右边界明确
  • 需要找第一个满足条件的位置或最后一个满足条件的位置

模板关键词:

  • check(mid)
  • 左边界二分
  • 右边界二分

推荐整理内容:

题型 对应模板 代表题 备注
整数二分 l, r, mid 边界收缩 待补充 最基础
浮点二分 精度控制 待补充 注意误差
二分答案 check(mid) 判定 待补充 最常见

双指针

适用场景:

  • 区间具有单调扩展性质
  • 需要维护一个连续窗口
  • 两个序列需要同步扫描

推荐整理内容:

题型 对应模板 代表题 备注
同向双指针 滑动窗口 待补充 子数组类常见
相向双指针 首尾夹逼 待补充 有序数组常见
双序列扫描 两数组匹配 待补充 归并思想

前缀和与差分

适用场景:

  • 快速求区间和
  • 频繁进行区间加减
  • 二维矩阵统计

推荐整理内容:

题型 对应模板 代表题 备注
一维前缀和 s[i] = s[i-1] + a[i] 待补充 区间求和
二维前缀和 矩阵前缀和 待补充 子矩阵统计
一维差分 区间加法 待补充 批量修改
二维差分 子矩阵修改 待补充 综合性强

排序与离散化

推荐整理内容:

题型 对应模板 代表题 备注
快速排序思想 分治模板 待补充 基础
归并排序思想 逆序对 待补充 高频
离散化 排序去重映射 待补充 值域压缩
区间合并 排序后扫描 待补充 常规题

数据结构

章节笔记:数据结构章节笔记

栈、队列、单调栈、单调队列

推荐整理内容:

题型 对应模板 代表题 备注
普通栈 push / pop / top 待补充 基础操作
表达式求值 运算符栈 待补充 易错
单调栈 找左边/右边最近更大更小 待补充 高频
单调队列 滑动窗口最值 待补充 高频

链表、哈希、Trie、并查集

推荐整理内容:

题型 对应模板 代表题 备注
静态链表 e / ne / head 待补充 AcWing 风格明显
哈希表 拉链法/开放寻址 待补充 常见基础题
Trie 字符串统计 待补充 字典树
并查集 find / merge 待补充 连通性问题

堆与 KMP

推荐整理内容:

题型 对应模板 代表题 备注
小根堆 down / up 待补充 优先队列
模拟堆 支持删除和修改 待补充 进阶
KMP next 数组 待补充 字符串匹配

搜索与图论

章节笔记:搜索与图论章节笔记

DFS 与 BFS

推荐整理内容:

题型 对应模板 代表题 备注
树与图的 DFS 邻接表遍历 待补充 基础搜索
全排列 / 组合 回溯模板 待补充 入门必练
最短路 BFS 队列分层 待补充 无权图
多源 BFS 多起点入队 待补充 常见变形

最短路、最小生成树、拓扑排序

推荐整理内容:

题型 对应模板 代表题 备注
Dijkstra 堆优化最短路 待补充 正权图
Bellman-Ford 边数限制/负权边 待补充 经典
SPFA 队列优化 待补充 注意最坏情况
Floyd 多源最短路 待补充 点数小
Prim / Kruskal 最小生成树 待补充 高频
拓扑排序 入度数组 待补充 DAG

染色法、二分图与树

推荐整理内容:

题型 对应模板 代表题 备注
染色法判二分图 DFS/BFS 染色 待补充 基础
匈牙利算法 二分图匹配 待补充 经典
树的重心 DFS 统计子树 待补充 树上基础

数学知识

章节笔记:数学知识章节笔记

数论基础

推荐整理内容:

题型 对应模板 代表题 备注
质数判定 试除法 待补充 基础
分解质因数 试除分解 待补充 高频
筛质数 埃氏筛/线性筛 待补充 常考
约数个数与约数和 分解后计算 待补充 公式题
最大公约数 gcd 待补充 基础

快速幂、扩展欧几里得、组合计数

推荐整理内容:

题型 对应模板 代表题 备注
快速幂 qmi(a, k, p) 待补充 高频
扩展欧几里得 exgcd 待补充 线性同余
组合数 I 递推/预处理 待补充 基础
组合数 II 阶乘逆元 待补充 高频
容斥原理 子集枚举 待补充 需要熟练

动态规划

章节笔记:动态规划章节笔记

线性 DP 与背包 DP

推荐整理内容:

题型 对应模板 代表题 备注
数字三角形 线性转移 待补充 入门
最长上升子序列 一维 DP / 贪心优化 待补充 高频
01 背包 倒序枚举体积 待补充 核心模板
完全背包 正序枚举体积 待补充 核心模板
多重背包 二进制优化 待补充 进阶
分组背包 分组选择 待补充 常见变形

区间 DP、状态压缩 DP、树形 DP

推荐整理内容:

题型 对应模板 代表题 备注
区间 DP 枚举区间长度 待补充 石子合并类
状压 DP 二进制状态表示 待补充 进阶
树形 DP 先子树后根 待补充 重要专题
数位 DP 按位限制 待补充 难度稍高

DP 做题提醒

  • 先定义状态含义
  • 再写状态转移
  • 最后确定初始化与答案位置

很多 DP 写不出来,不是代码问题,而是状态定义不清楚。


贪心与综合技巧

章节笔记:贪心专题章节笔记

区间问题、排序贪心、绝对值模型

推荐整理内容:

题型 对应模板 代表题 备注
区间选点 按右端点排序 待补充 典型贪心
区间分组 小根堆维护 待补充 高频
区间覆盖 贪心推进 待补充 经典
排队打水 排序最优 待补充 基础
货仓选址 中位数模型 待补充 经典结论

综合建议

  • 贪心题一定要先想“为什么这样选一定最优”
  • 如果证明说不清,先别急着写
  • 看到“局部最优推出整体最优”时再考虑贪心

如何继续补全这个合集

你后续可以按这个格式持续扩展:

  1. 每个章节先补“代表题”
  2. 每个题型单独再开文章写题解
  3. 在题解里反链回这个合集页
  4. 每个模板都保留一份标准写法

快速入口