Hotman's Library
https://hotman78.github.io/cpplib/
競技プログラミングのC++のライブラリです
CC0ライセンスなので好きにコピーして下さい
themeはei1333/minimaをforkして使わせて頂いてます
Library Files
BBST/AVL
BBST/RBST
BBST/splay_tree
BBST/splay_tree/splay_tree_array.hpp
BBST/splay_tree/splay_tree_array_ushi.hpp
BBST/splay_tree/splay_tree_base.hpp
BBST/splay_tree/splay_tree_map_ushi.hpp
BBST/splay_tree/splay_tree_set.hpp
DP
alga
data_structure
data_structure/HLD_lazy.hpp
data_structure/HLD_seg.hpp
RMQ<O(N),O(1)> (data_structure/RMQ.hpp)
RangeArgminQuery <O(N),O(1)> (data_structure/arg_rmq.hpp)
BinaryHeap (data_structure/binary_heap.hpp)
BinaryIndexedTree (data_structure/binary_indexed_tree.hpp)
BinaryTrie (data_structure/binary_trie.hpp)
BitVector (data_structure/bit_vector.hpp)
cartesian_tree (data_structure/cartesian_tree.hpp)
data_structure/cht.hpp
累積和(WIP) (data_structure/cumulative_sum.hpp)
DisjointSparseTable (data_structure/disjoint_sparse_table.hpp)
data_structure/euler_tour_tree.hpp
FastSet(遅い) (data_structure/fast_set.hpp)
HashMap (data_structure/hash_map.hpp)
Kd木(WIP) (data_structure/kd_tree.hpp)
マージ可能ヒープ(LeftistHeap) (data_structure/leftist_heap.hpp)
LiChaoTree (data_structure/li_chao_tree.hpp)
data_structure/link_cut_tree.hpp
data_structure/my_deque.hpp
マージ可能ヒープ(SkewHeap) (data_structure/skew_heap.hpp)
data_structure/slide_max.hpp
data_structure/slide_min.hpp
data_structure/small_rmq.hpp
SparseTable (data_structure/sparse_table.hpp)
平方分割(WIP) (data_structure/sqrtd.hpp)
SWAG(Queue) (data_structure/swag.hpp)
Trie(WIP) (data_structure/trie.hpp)
WaveletMatrix(WIP) (data_structure/wavelet_matrix.hpp)
data_structure/x_fast_trie.hpp
dsu
dsu/UF_data.hpp
dsu/UF_list.hpp
根とのPathの中での最小値を返すUnionFind (dsu/uf_min.hpp)
Union Find (dsu/union_find.hpp)
functional
最大値 (functional/MAX.hpp)
最小値 (functional/MIN.hpp)
最大値とその位置 (functional/argmax.hpp)
最小値とその位置 (functional/argmin.hpp)
一次関数の合成 (functional/composite.hpp)
区間加算 (functional/range_add_and_range_sum.hpp)
更新 (functional/update.hpp)
give_us_tmp
重心分解 (give_us_tmp/centroid_decomposition.cpp)
素因数分解(高速) (give_us_tmp/factorize.cpp)
多項式乗算 (give_us_tmp/fft.cpp)
形式的冪級数 (give_us_tmp/fps.cpp)
素数判定(高速) (give_us_tmp/is_prime.cpp)
give_us_tmp/lca.cpp
give_us_tmp/mod_int.cpp
graph_tree
ベルマンフォード法(WIP) (graph_tree/bellmanFord.hpp)
重心分解 (graph_tree/centroid_decomposition.hpp)
部分木の大きさ (graph_tree/child_size.hpp)
根からの深さ (graph_tree/depth.hpp)
ダイクストラ法 O((E+V)logE) (graph_tree/dijkstra.hpp)
ダイクストラ O(E+VlogE) (graph_tree/dijkstra_fast.hpp)
最大流(Dinic法) (graph_tree/dinic.hpp)
graph_tree/distance.hpp
支配木 (graph_tree/dominator_tree.hpp)
graph_tree/euler_tour.hpp
グラフテンプレート (graph_tree/graph_template.hpp)
LCA <O(N),O(1)>(HL分解と同等の速さ) (graph_tree/lca.hpp)
LCA(HL分解)<O(N),O(logN)> (graph_tree/lca_short.hpp)
graph_tree/lex_bfs.hpp
最大独立集合(V<=50) (graph_tree/maximum_independent_set.hpp)
最小費用流(CostScaling) (graph_tree/min_cost_flow.hpp)
うしさんからパクってきた最小費用流 (graph_tree/min_cost_flow_ei.hpp)
最大流(push_relabel法O(V^2√E)) (graph_tree/push_relabel.hpp)
全方位木DP (graph_tree/reroot.hpp)
強連結成分分解 (graph_tree/scc.hpp)
最短経路木 O((E+V)logE) (graph_tree/shortest_path_tree_dijkstra.hpp)
TopTree(WIP) (graph_tree/top_tree.hpp)
トポロジカルソート (graph_tree/topological_sort.hpp)
木上の畳み込み(WIP) (graph_tree/tree_fold.hpp)
二辺連結成分分解 (graph_tree/two_edge_connectivity.hpp)
2-SAT (graph_tree/two_sat.hpp)
math
形式的冪級数(BASE) (math/FPS_base.hpp)
形式的冪級数(Integer) (math/FPS_long.hpp)
形式的冪級数(ModInt) (math/FPS_mint.hpp)
math/NTT2d.hpp
math/and_convolution.hpp
二分探索 (math/binary_search.hpp)
二分探索(double) (math/binary_search_double.hpp)
カーマイケル関数 (math/carmichael_function.hpp)
カタラン台形 (math/catalans_trapezoids.hpp)
math/ceil_pow2.hpp
二項係数 mod P (math/comb.hpp)
math/concave_max_plus_convolution.hpp
約数列挙 (math/divisor_list.hpp)
オイラーのファイ関数 (math/euler_phi.hpp)
math/fact_list.hpp
\sum_{i=0}^{n-1}\floor(a*i+b/c) (math/floor_sum.hpp)
ガーナーのアルゴリズム (math/garner.hpp)
math/get_monomials.hpp
素数判定(高速) (math/is_prime.hpp)
math/kth_root.hpp
ラグランジュ補完(連続点->一点) (math/lagrange_interpolation.hpp)
ModInt (math/mod_int.hpp)
ModInt(1'000'000'007) (math/mod_int1000000007.hpp)
ModInt(998'244'353) (math/mod_int998244353.hpp)
ModInt (math/mod_int_dynamic.hpp)
math/mod_inv.hpp
離散対数(ModLog) (math/mod_log.hpp)
(x^y)%mod (math/mod_pow.hpp)
ModSqrt (math/mod_sqrt.hpp)
math/or_convolution.hpp
osa_k法 (math/osa_k.hpp)
math/partition_function.hpp
素因数分解(高速) (math/prime_factor.hpp)
素数列挙 (math/prime_list.hpp)
math/stern_brocot_tree.cpp
math/sum_power_poly.hpp
math/sum_power_poly_limit.hpp
テトレーション (math/tetration.hpp)
トーシェント関数の和 (math/totient_sum.hpp)
math/xor_convolution.hpp
math/test
segment_tree
双対セグメント木 (segment_tree/dual_segment_tree.hpp)
segment_tree/lazy_segment_tree.hpp
セグメント木 (segment_tree/segment_tree.hpp)
string
Aho-Corasick法 (string/AhoCorasick.hpp)
Zアルゴリズム (string/Z_algorizm.hpp)
Manacher (string/manacher.hpp)
オンラインZアルゴリズム (string/online_Zalgo.hpp)
ローリングハッシュ (string/rolling_hash.hpp)
部分列DP(WIP) (string/subseceqence.cpp)
SuffixArray (string/suffix_array.hpp)
SuffixAutomaton (string/suffix_automaton.hpp)
Trie木 (string/trie.hpp)
util
util/ACL.hpp
util/cpp_int.hpp
高速入出力(WIP) (util/fastIO.hpp)
util/int128.hpp
util/make_case.hpp
util/pbds.hpp
util/random_gen.hpp
util/template.hpp
Verification Files
data_structure/test
data_structure/test/LC_RMQ.test.cpp
data_structure/test/LC_binary_indexed_tree.test.cpp
data_structure/test/LC_binary_trie.test.cpp
data_structure/test/LC_birary_heap.test.cpp
data_structure/test/LC_cartesian_tree.test.cpp
data_structure/test/LC_disjoint_sparse_table.test.cpp
data_structure/test/LC_fast_set.test.cpp
data_structure/test/LC_hash_map.test.cpp
data_structure/test/LC_line_add_get_min.test.cpp
data_structure/test/LC_segment_add_get_min.test.cpp
data_structure/test/LC_sparse_table.test.cpp
data_structure/test/LC_swag.test.cpp
data_structure/test/LC_wavelet_matrix.test.cpp
dsu/test
graph_tree/test
graph_tree/test/LC_centroid_decomposition.test.cpp
graph_tree/test/LC_dijkstra.test.cpp
graph_tree/test/LC_dijkstra_fast.test.cpp
graph_tree/test/LC_dinic.test.cpp
graph_tree/test/LC_dominator_tree.test.cpp
graph_tree/test/LC_lca.test.cpp
graph_tree/test/LC_lca_short.test.cpp
graph_tree/test/LC_maximum_independent_set.test.cpp
graph_tree/test/LC_min_cost_flow.test.cpp
graph_tree/test/LC_push_relabel.test.cpp
math/test
math/test/AOJ_binary_search.test.cpp
math/test/AOJ_is_prime.test.cpp
math/test/AOJ_prime_factor.test.cpp
math/test/AOJ_prime_list.test.cpp
math/test/LC_convolution_1000000007.test.cpp
math/test/LC_convolution_998244353.test.cpp
math/test/LC_floor_sum.test.cpp
math/test/LC_interpolation.test.cpp
math/test/LC_mod_log.test.cpp
math/test/LC_mod_sqrt.test.cpp
math/test/LC_prime_factor.test.cpp
math/test/LC_tetration.test.cpp
math/test/LC_totient_sum.test.cpp
segment_tree/test
segment_tree/test/AOJ_dual_segment_tree.test.cpp
segment_tree/test/AOJ_lazy_segment_tree.test.cpp
segment_tree/test/LC_segment_tree.test.cpp
string/test
string/test/LC_Z_algorizm.test.cpp
string/test/LC_online_Z_algorizm.test.cpp
string/test/YUKI_Aho_Corasick.test.cpp