haar_lib/ds/
mod.rs

1//! データ構造
2//!
3//! # セグメント木系の比較
4//!
5//! | データ構造 | 新規作成 | 区間更新 | 点更新 | 区間取得 | 点取得 |
6//! | ---- | ---- | ---- | ---- | ---- | ---- |
7//! | [`Segtree`](segtree::Segtree) | `new(n, M)` | | `assign(i, X)`, `update(i, X)` | `fold(l..r)` | |
8//! | [`DualSegtree`](dual_segtree::DualSegtree) | `new(n, M)` | `update(l..r, X)` | | | `get(i)` |
9//! | [`LazySegtree`](lazy_segtree::LazySegtree) | `new(n, A)` | `update(l..r, X)` | | `fold(l..r)` | |
10//! | [`DynamicSegtree`](dynamic_segtree::DynamicSegtree) | `new(M)` | | `assign(i, X)` | `fold(l..r)` | |
11//! | [`DynamicDualSegtree`](dynamic_dual_segtree::DynamicDualSegtree) | `new(M)` | `update(l..r, X)` | | | `get(i)` |
12//! | [`DynamicLazySegtree`](dynamic_lazy_segtree::DynamicLazySegtree) | `new(A)` | `update(l..r, X)` | | `fold(l..r)` | |
13//! | [`PersistentSegtree`](persistent_segtree::PersistentSegtree) | `new(n, M)` | | `assign(i, X)` | `fold(l..r)` | |
14//! | [`SparseTable`](sparse_table::SparseTable) | `new(s, A)` | | | `fold(l..r)` | |
15//! | [`DisjointSparseTable`](disjoint_sparse_table::DisjointSparseTable) | `new(s, S)` | | | `fold(l..r)` | |
16//! | [`FenwickTree`](fenwick::FenwickTree) | `new(n, G)` | | `update(i, X)` | `fold_to(..r)`, `fold(l..r)` | |
17//! | [`SegtreeBeats`](segtree_beats::SegtreeBeats) | `new(n)` | `chmin(l..r, X)`, `chmax(l..r, X)`, `add(l..r, X)` | | `sum(l..r, X)` | |
18//! | [`StarrySkyTree`](starry_sky_tree::StarrySkyTree) | `new(n)` | `update(l..r, X)` | | `fold(l..r)` | |
19
20// pub mod traits;
21
22pub mod partially_persistent_unionfind;
23pub mod persistent_unionfind;
24pub mod potential_unionfind;
25pub mod rollbackable_unionfind;
26pub mod unionfind;
27
28pub mod dual_segtree;
29pub mod dynamic_dual_segtree;
30pub mod dynamic_lazy_segtree;
31pub mod dynamic_segtree;
32pub mod fenwick;
33pub mod fenwick_add;
34pub mod lazy_segtree;
35pub mod lazy_segtree_coeff;
36pub mod persistent_segtree;
37pub mod segtree;
38pub mod segtree_2d;
39pub mod segtree_beats;
40pub mod segtree_linear_add;
41pub mod segtree_linear_add_range_sum;
42pub mod starry_sky_tree;
43pub mod starry_sky_tree_count;
44
45pub mod fenwick_on_fenwick;
46pub mod segtree_on_segtree;
47
48pub mod cumulative_sum_1d;
49pub mod cumulative_sum_2d;
50
51pub mod persistent_array;
52pub mod rollbackable_vector;
53
54pub mod range_search_tree;
55
56pub mod foldable_deque;
57pub mod persistent_queue;
58
59pub mod disjoint_sparse_table;
60pub mod sparse_table;
61pub mod sparse_table_2d;
62
63pub mod interval_heap;
64pub mod lazy_skew_heap;
65pub mod skew_heap;
66
67pub mod persistent_stack;
68
69pub mod cht;
70pub mod li_chao;
71
72pub mod binary_trie;
73
74pub mod succinct_bitvec;
75pub mod wavelet_matrix;
76
77pub mod multiset;
78
79pub mod qword_tree;
80
81pub mod aho_corasick;
82pub mod palindromic_tree;
83pub mod trie;
84
85pub mod bitset;
86
87pub mod merge_sort_tree;
88
89pub mod linked_list;
90
91pub mod link_cut_tree;
92pub mod splay_tree;
93
94pub mod integer_set;
95
96pub mod usize_set;
97
98pub mod ordered_map;
99pub mod ordered_set;