Skip to content

Commit 60ca7c0

Browse files
committed
update docs
1 parent a36cce2 commit 60ca7c0

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

library/data_structures/seg_tree_uncommon/wavelet_matrix.hpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
#pragma once
2+
//! @code
3+
//! vector<ull> a(n);
4+
//! wavelet_matrix wm(a, 1e9 /*a[i] <= 1e9*/);
5+
//! wm.kth(l, r, k); //(k+1)th smallest number in [l,r)
6+
//! wm.kth(l, r, 0); //min in [l,r)
7+
//! @endcode
8+
//! @time O(n * log(max_val) + q * log(max_val))
9+
//! @space O(n * log(max_val) / 64)
210
#include "wavelet_bit_vec.hpp"
311
struct wavelet_matrix {
412
int n;
513
vector<bit_vec> bv;
6-
//! Requires a[i] <= max_val
7-
//! @time O(n * log(max_val))
8-
//! @space O(n * log(max_val) / 64)
914
wavelet_matrix(vector<ull> a, ull max_val):
1015
n(sz(a)), bv(bit_width(max_val), {{}}) {
1116
for (int h = sz(bv); h--;) {
@@ -16,10 +21,6 @@ struct wavelet_matrix {
1621
bv[h] = b;
1722
}
1823
}
19-
//! (k+1)th smallest number in [l,r)
20-
//! kth(l,r,0) returns the min
21-
//! @time O(log(max_val))
22-
//! @space O(1)
2324
ull kth(int l, int r, int k) {
2425
ll res = 0;
2526
for (int h = sz(bv); h--;) {

0 commit comments

Comments
 (0)