基础与入门

欢迎来到基础与入门的世界,这里是程序员的修炼地,也是二次元迷们的算法战场。
在这里,每一行代码都可能召唤出萌妹子(Bug),每一个循环都可能触发技能(优化)。

双指针

模拟

贪心

前缀和

二分

根号分治

构造

小Tricks / 摩尔投票


数据结构

栈 / 队列 / 单调栈 / 单调队列

链表

哈希表 / 字典树 (Trie)

堆 (优先队列)

并查集

(DSU / Union-Find)

树状数组

(Fenwick Tree)

线段树

(含 Lazy / 可持久化 / 动态开点 / 线段树合并)

平衡树

(Treap / Splay / AVL / 红黑树)

可并堆

(左偏树, 配对堆)

ST 表 / RMQ / Sparse Table

莫队

图论

图论的世界,就是把各种奇奇怪怪的点和线拉在一起,然后问你:“你能走到终点吗?”
在这里,点可以代表城市、房间或者你家猫喜欢睡的沙发,线可以是道路、电线或者微信好友关系.
但同样的,点也可能不是点,图也可能不是图.

BFS

DFS

dijkstra

动态规划 (DP)

背包 DP

(01 / 完全 / 多重 / 分组)

区间 DP

(石子合并 / 括号匹配)

树形 DP

(树的直径 / 换根 DP)

状压 DP

(TSP / 集合覆盖 / 子集转移)

数位 DP

概率 DP / 期望 DP

线性 DP

(LIS / LCS)

DP 优化

(单调队列 / 斜率优化 / 四边形不等式)

字符串

KMP

Z-Algorithm

Manacher(最长回文子串)

后缀数组 (SA) + LCP

后缀自动机 (SAM)

字典树 / AC 自动机

回文自动机 (PAM)

字符串哈希 (Rolling Hash)

数论

欢迎来到数论的圣域,这里是程序员的炼金实验室,也是二次元魔法师的符文书。
每一个数字都可能隐藏秘密,每一个公式都可能爆发技能特效。准备好你的脑力与萌力!

Mex

同余

容斥

几何

向量 / 叉积 / 点线关系 / 多边形面积

凸包 (Graham / Andrew)

半平面交 / 多边形交

圆与直线关系

最近点对

旋转卡壳

扫描线

三维几何(点面关系 / 凸包)