NOIP 算法笔记全部章节
本章目录

算法笔记

十章,按“先保住会做的分,再去拿新的分”排序。每章的每个小节都标了优先级:

标记 含义 要求
【必会】 丢了就丢大分 考前能不看资料默写出来,10 分钟内写对
【常考】 近十年反复出现 理解原理,能照着模板写出来并调通
【了解】 多见于难题的正解 知道它解决什么问题,看得懂部分分表里的提示即可

时间只有两周,先把所有【必会】过一遍,再看【常考】,【了解】放到最后。

目录

章 文件 内容
0 00-考场基本功.md 代码骨架、文件读写、long long 与 INF、读写速度、复杂度估算、编译与警告、对拍、检查清单
1 01-基础算法.md 排序、二分与二分答案、前缀和与差分、双指针、离散化、贪心、位运算、STL
2 02-枚举与搜索.md 子集与排列枚举、DFS 回溯与剪枝、BFS、记忆化搜索——暴力分的来源
3 03-动态规划.md 线性 DP、背包、区间 DP、状压 DP、计数 DP、常见优化
4 04-图论.md 存图、最短路、并查集、最小生成树、拓扑排序、Tarjan、建模技巧
5 05-数据结构.md 单调栈与单调队列、堆、ST 表、树状数组、线段树
6 06-树上问题.md DFS 序、直径与重心、LCA、树上差分、树形 DP、换根
7 07-数学与计数.md 取模、快速幂、逆元与组合数、筛法、计数原理、容斥
8 08-字符串.md 字符串基础、哈希、KMP、Trie
9 09-部分分策略.md 怎么读数据范围表、链和菊花怎么做、暴力怎么写、时间怎么分

模板都是测过的

templates/ 下每个 .cpp 都是一个完整程序(标准输入输出,可以直接交到洛谷对应的模板题)。 每个模板都配了一份独立的朴素实现,随机对拍通过后才写进笔记:

python3 tools/check_templates.py            # 全部重新对拍一遍,并核对笔记里的代码与模板文件一致
python3 tools/check_templates.py dijkstra   # 只查一个

考场上要用文件读写,模板里没有 freopen;骨架见第 0 章。

怎么用模板

  1. 先读懂,再合上笔记自己敲一遍,交到洛谷模板题上验证。
  2. 敲错的地方记下来——那就是你考场上会错的地方。
  3. 考前三天,每天抽 5 个【必会】模板限时默写。