跳转至

Index

目录

基础/杂项

  • 快读快写
  • 二分
  • 三分
  • 字符串与 int 等类型转换
  • bitset
  • 归并排序求逆序对数
  • 结构体重载比较运算符
  • 对顶堆
  • vector 去重
  • iota 生成连续数序列
  • sort 中使用 lambda 编写排序规则
  • 滑动窗口
  • 双向广搜
  • 单调栈
  • 全排列函数 permutation
  • 判断非递减 is_sorted
  • cout 输出流控制
  • 日期换算(基姆拉尔森公式)
  • __int128_t​
  • 利用 auto + lambda + 引用捕获在内部编写递归函数
  • 火车头卡常
  • 三维前缀和
  • std::__builtin_popcount
  • std::mt19937 & std::shuffle 随机打乱

图论

  • Floyd
  • Bellman_Ford
  • Dijkstra
  • Kruskal
  • prim
  • 拓扑排序
  • 同余最短路
  • 传递闭包
  • 最小环问题
  • Johnson 求全源最短路
  • 欧拉路
  • 二分图匹配
  • 欧拉回路
  • 链式前向星
  • 有向无环图 DAG
  • 割边缩点
  • tarjan 强连通分量&缩点

数据结构

  • 并查集
  • 树状数组
  • 分块
  • 主席树
  • 替罪羊树
  • 莫队
  • ST 表
  • 扫描线

  • 树的直径
  • 最近公共祖先 LCA
  • 树的重心

线段树

  • 封装区间加、区间最值查询
  • 封装区间加、区间乘
  • 区间赋值
  • 单点赋值
  • 快速线段树 单点修改+区间最值
  • 区间取模
  • 区间最大连续子段和

字符串

  • manacher
  • KMP
  • 后缀自动机或后缀数组求不同的字串个数
  • Z 函数(扩展 KMP)
  • Trie 字典树
  • AC 自动机
  • AC 自动机优化加强
  • 字符串哈希
  • 回文自动机 PAM(回文树)
  • 前后缀去重

动态规划

  • 01 背包

  • 完全背包

  • 多重背包-二进制优化

  • 单调队列优化背包

  • 分组背包

  • 有依赖背包

  • 状压 DP

  • 数位 DP

  • 求最大子段和

数论

  • 乘法取模
  • 快速幂取模
  • 矩阵乘法&快速幂
  • GCD & LCM
  • 扩展欧几里得
  • 求解同余方程(求逆)
  • 费马小定理
  • Miller-Rabin 素性测试
  • 欧拉筛
  • 欧拉函数
  • 二项式定理&卢卡斯定理
  • Bash Game
  • 素数筛 O(n)
  • 分解质因数
  • 约数
  • 中国剩余定理 CRT
  • 约瑟夫问题
  • 线性判定排列逆序数的奇偶性
  • 预处理组合数
  • 防爆模乘
  • jiangly 取模运算+组合数板子

组合数学

  • 斯特林数
  • 卡特兰数
  • 错排公式

计算几何

  • 点线多边形封装
  • 基础数值计算
  • 二维几何板子
  • 三维几何板子
  • 极角排序
  • 距离
  • 给定两矩形求重叠面积

高精度

  • 高精度加减乘除

STL

atcoder 快速模乘封装

python