目录

算法基础

输入输出
数组处理
归并排序
离线询问

动态规划

最长上升子序列
数位dp

字符串

[哈希 / Hashing]
字典树 / Trie
KMP算法
Manacher算法
回文自动机 / Palindromic Automaton

数学

数论

数论常识
扩展Euler定理
扩展Euclid算法
线性筛
MillerRabin算法
Min_25筛
积性函数前缀和
[剩余]

线性代数

矩阵

多项式

快速数论变换 / NTT
拉格朗日插值

组合数学

组合数与错位排列数
第二类斯特林数
置换群

博弈论

SG函数

数据结构

并查集 / Disjoint Set Union

树状数组 / Binary Index Tree

线段树 / Segment Tree

其他

链表 / Linked List
栈 / Stack
队列 / Queue
[哈希 / Hashing]
字典树 / Trie
ST表 / Sparse Table
Treap / Treap
无旋 Treap / FHQ Treap
可持久化无旋 Treap / Persistent FHQ Treap
树链剖分 / Chain Partitions of Tree

图论

基础

图的存储和遍历
树的存储和遍历
基环树的存储和遍历

最近公共祖先

倍增算法 - LCA
[Tarjan算法 - LCA]

最短路

[Dijkstra算法]
[BellmanFord算法]
[Floyd算法]

生成树

[Prim算法]
[Kruskal算法]
[矩阵树定理]

双连通分量

[Tarjan算法 - 割点]
[Tarjan算法 - 桥]
[Tarjan算法 - 点双连通分量]
[Tarjan算法 - 边双连通分量]

强连通分量

[Tarjan算法 - 强连通分量]
Kosaraju算法

计算几何

多边形

其他

高精度整数
表达式求值


题单

《算法竞赛进阶指南》打卡活动

posted @ 2019-11-12 16:56  KisekiPurin2019  阅读(359)  评论(0编辑  收藏  举报