我学过的东西

发布时间 2023-07-05 12:39:07作者: untitled0

用 ”==“ 标记的都是 代码不熟练 / 忘了 的

基础算法 / 思想:

  • 爆搜
  • 贪心
  • 二分 / 三分
  • 倍增
  • 前缀和 / 差分
  • 哈希:进制哈希 / 随机值哈希 / 树哈希
  • 根号分治(平衡复杂度)
  • 分块

离线算法:

  • 给询问排序
  • CDQ 分治
  • 整体二分
  • 莫队
  • 线段树分治

图论:

  • 图的遍历:DFS / BFS
  • 拓扑排序
  • 最短路:Dijkstra / SPFA / Floyd
  • 差分约束
  • 同余最短路
  • 最小生成树:Kruskal
  • Kruskal 重构树
  • Tarjan(强连通、点双、边双)
  • 2-SAT
  • 欧拉路
  • 网络流:最大流、费用流
  • 广义圆方树

树论:

  • LCA
  • 树链剖分
  • 树的重心

字符串:

  • KMP
  • AC 自动机
  • Manacher
  • 后缀数组

数论:

  • 根号判断素数
  • Miller-Rabbin
  • 线性筛
  • GCD / exGCD
  • CRT / exCRT

线性代数:

  • 矩阵乘法
  • 矩阵快速幂
  • 高斯消元
  • 行列式
  • 矩阵树定理
  • 线性基

数据结构:

  • 栈 / 单调栈
  • 队列 / 单调队列
  • 堆(STL)
  • ST 表
  • Trie
  • 并查集 / 扩展域并查集
  • 线段树:传统、动态开点、分裂合并
  • 树状数组
  • FHQ-Treap
  • 可持久化线段树 / 可持久化并查集
  • 可持久化 Trie
  • 珂朵莉树

玄学:

  • 模拟退火
  • KDT