小技巧: 输入 :py:js 按语言筛选

树状数组

Binary Indexed Tree

高效支持前缀和查询与单点修改的数组结构

数据结构前缀和树状数组

组合

Comb

利用乘法逆元在模数下高效计算组合数

数学组合数乘法逆元模运算

数位DP

Digit DP

按数位拆分状态,统计满足条件的数的数量

动态规划数位dp状态压缩

快速幂

Fast Power

通过二分思想快速计算数的幂

数学快速幂二分

矩阵快速幂

Fastpow Matrix

通过快速幂算法高效计算矩阵的高次幂

数学矩阵运算快速幂

最大公约数 & 最小公倍数

Gcd & Lcm

计算两个数的最大公约数和最小公倍数

数学数论最大公约数最小公倍数

马拉车

Manacher

在线性时间内求字符串的最长回文子串

字符串回文马拉车

状态压缩

Mask

用二进制位表示集合或状态以减少复杂度

算法状态压缩位运算

全排列

Next Permutation

生成有序元素数组的下一个排列

算法全排列

质数生成器

Prime Generator

高效生成指定范围内的所有质数

数学质数筛法

优先队列

Priority Queue

支持快速访问最大或最小元素的队列结构

数据结构优先队列

字符串哈希

Rabin Karp

利用哈希函数实现字符串快速匹配算法

字符串哈希Rabin-Karp

可删除元素的优先队列

Removable Priority Queue

支持元素插入、删除和优先访问的队列结构

数据结构优先队列可删除

水塘抽样

Reservoir Sampling

在线随机抽样算法,等概率选取样本

算法概率抽样

线段树

Segment Tree

支持区间查询和单点修改的树状数据结构

数据结构线段树区间查询

简易线段树

Simple Segment Tree

简化版线段树,支持单点修改和区间查询

数据结构线段树区间查询

字典树

Trie

用于高效存储和查询字符串的树形结构

数据结构字典树Trie

并查集

Union Find

支持动态合并和查询连通性的集合结构

数据结构并查集并查

ZKW 线段树

Zkw Segment Tree

自底向上的线段树实现