设立本专栏的初衷在于,我意识到我学习过的很多算法,一段时间不使用就会被我遗忘,于是决定把学习这些算法的过程记录下来,也同时分享给其他有需要的人。
本专栏默认读者会使用基本的C++语言且掌握基本的贪心、搜索、动态规划思想(部分文章也会补充\(Python\) 和 \(Java\) 代码)
方括号里的编号表示笔记中用到的前置算法(并不意味着该算法必须用到)。分类仅作参考,不一定准确。需要说明的是,因为作者的主攻题型具有偏向性和文章发布顺序问题,所以各种类型的笔记数量和编号很可能不平衡。
PS:专栏格式参考了 Pecco 学长,专栏内容来自很多人的支持,十分感谢!
关于算法模板(C++):Here
学习(复习)笔记:Here感谢 OI wiki 博文帮助!
搜索和动态规划
动态规划在 ACM/OI 中的占比非常大。其变化众多,并没有普适性的方法,更多还需要靠实际练习来积累经验和技巧。
-
资源
-
动态规划系列
-
记忆化搜索
-
DAG上DP
-
数位DP
-
插头DP
-
计数DP
-
动态 DP
-
DP优化系列
算法学习笔记(78):单调栈、单调队列优化,单调队列优化DP练习
四边形不等式优化
状态设计优化
-
搜索与遍历
数据结构
- 【数据结构篇】认识数据结构
- 算法学习笔记(5):并查集
- 算法学习笔记(21):线段树
- 算法学习笔记(22):树状数组
- 算法学习笔记(24):珂朵莉树
- 算法学习笔记(25):ST表
- 算法学习笔记(47):主席树
- 算法学习笔记(76):特殊数据结构:单调栈,单调队列①,单调队列②
- 算法学习笔记(79):树链剖分详细讲解
图论
-
最短路系列
-
最小生成树 & 次最小生成树
-
连通图
-
网络流
-
二分图
-
树的直径
数论
-
筛法
- 算法学习笔记(69):筛法 概括了杂项中的素数筛
- 算法学习笔记(70):Meissel-Lehmer 亚线性时间复杂度内求出 \(1∼n\) 内质数个数的一种算法。
-
博弈论
-
模运算
-
位运算
字符串
-
字符串匹配算法
多项式 & 线性代数
计算几何
-
向量
其他
杂项(未分类?)
The desire of his soul is the prophecy of his fate
你灵魂的欲望,是你命运的先知。