ManacherManacher 参考:https://oi-wiki.org/string/manacher cpp 123456789101112131415161718192021std::pair<std::string, std::vector<int>> manacher(const std::string_view S) { std::stri 2025-01-06 算法 > 字符串 #算法 #字符串 #Manacher #回文串
字符串哈希字符串哈希 参考:https://oi-wiki.org/string/hash 1. 哈希函数定义 \[ \begin{align} \text{hash}(n) & = \sum_{i=1}^{n} s_i \times B^{N-i} \mod M \\ & = \text{hash}(n-1) \times B + s_n \mod M 2025-01-05 算法 > 字符串 #算法 #字符串 #字符串哈希
KMP和AC自动机KMP 参考:https://oi-wiki.org/string/kmp python kmp.py 1234567891011121314151617181920212223242526272829303132333435363738def get_p(s: str) -> list[int]: p = [0] * len(s) l = 0 for r 2025-01-05 算法 > 字符串 #算法 #字符串 #KMP #AC 自动机
y_combinator in C++y_combinator in C++ 来源:https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0200r0.html 1. 模板 cpp <y_combinator> 12345678910111213141516171819#include <functional>#include < 2024-01-11 编程 #C++
带权并查集带权并查集 1. 模板 cpp <weighted_dsu> 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778#include & 2024-01-10 算法 > 数据结构 #算法 #数据结构 #并查集 #带权并查集
一些数论模板一些数论模板 参考: https://oi-wiki.org/math/number-theory/basic/ https://github.com/atcoder/ac-library 1. 模板 cpp <number_theory> 123456789101112131415161718192021222324252627282930313233343536 2024-01-10 算法 > 数学 > 数论 #算法 #数学 #数论 #快速幂 #gcd #lcm #exgcd #excrt #线性同余方程 #逆元 #Miller-Rabin素性测试 #组合数 #Lucas定理 #欧拉筛(线性素数筛) #质因数分解
二维凸包 & 旋转卡壳二维凸包 & 旋转卡壳 参考: https://oi-wiki.org/geometry/convex-hull/ https://oi-wiki.org/geometry/rotating-calipers/ 1. 模板 cpp <convex_hull> 12345678910111213141516171819202122232425262728293 2024-01-07 算法 > 计算几何 #算法 #计算几何 #二维凸包 #旋转卡壳
Splay树Splay树 参考:https://oi-wiki.org/ds/splay 1. 模板 cpp <splay_tree> 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666 2023-12-26 算法 > 数据结构 > 二叉搜索树 & 平衡树 #算法 #数据结构 #二叉搜索树 & 平衡树 #Splay树
二维树状数组树状数组 参考:https://oi-wiki.org/ds/fenwick 1. 模板 cpp <fenwick_tree_2d> 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include <bits/stdc++.h>temp 2023-12-26 算法 > 数据结构 #算法 #数据结构 #树状数组 #二维树状数组
树状数组树状数组 参考:https://oi-wiki.org/ds/fenwick 1. 模板 cpp <fenwick_tree> 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656 2023-12-25 算法 > 数据结构 #算法 #数据结构 #树状数组 #权值数组 #逆序对 #倍增