competitive-programming-library
Library Files
data_structure
- Binary Indexed Tree
(data_structure/binary_indexed_tree.hpp)
- Convex Hull Trick (非単調, online)
(data_structure/convex_hull_trick.hpp)
- Dual Segment Tree / 双対セグメント木 (monoids, 完全二分木)
(data_structure/dual_segment_tree.hpp)
- Dynamic Connectivity (offline, commutative monoids)
(data_structure/dynamic_connectivity_offline.hpp)
- Euler Tour (subtree queries, with commutative monoids)
(data_structure/euler_tour_subtree_query.hpp)
- Fully Indexable Dictionary / 完備辞書
(data_structure/fully_indexable_dictionary.hpp)
- Lazy Propagation Segment Tree / 遅延伝播セグメント木 (monoids, 赤黒木)
(data_structure/lazy_propagation_red_black_tree.hpp)
- Lazy Propagation Segment Tree / 遅延伝播セグメント木 (monoids, 完全二分木)
(data_structure/lazy_propagation_segment_tree.hpp)
- Li-Chao tree
(data_structure/li_chao_tree.hpp)
- Link-Cut tree (monoids without commutativity, vertex set + path get)
(data_structure/link_cut_tree.hpp)
- Dual Segment Tree / 双対セグメント木 (列挙クエリ, 完全二分木)
(data_structure/reporting_segment_tree.hpp)
- Segment Tree / セグメント木 (monoids, 完全二分木)
(data_structure/segment_tree.hpp)
- Segment Tree Beats (range {chmin, chmax, add, update} + range {min, max, sum}, 完全二分木)
(data_structure/segment_tree_beats.hpp)
- Sliding Window Aggregation / 含まれる要素の総和が $O(1)$ で取れる queue (可換とは限らない monoid が乗る)
(data_structure/sliding_window_aggregation.hpp)
- Sparse Table (idempotent monoid)
(data_structure/sparse_table.hpp)
- Union-Find Tree
(data_structure/union_find_tree.hpp)
- Union-Find Tree (foldable with commutative monoids, undoable)
(data_structure/union_find_tree_foldable_undoable.hpp)
- a disjoint set structure with monoid
(data_structure/union_find_tree_with_monoid.hpp)
- Wavelet Matrix
(data_structure/wavelet_matrix.hpp)
graph
hack
modulus
monoids
number
old
python
string
.
utils
Verification Files
data_structure
graph
hack
modulus
number
old
string
utils