Skip to content

Commit 2a37bed

Browse files
committed
first draft
1 parent 49fcd3e commit 2a37bed

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

library/data_structures_[l,r]/seg_tree.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ template<class T, class F> struct tree {
2020
vector<T> s;
2121
tree(int n, T unit, F op):
2222
n(n), op(op), s(2 * n, unit) {}
23+
#include "seg_tree_uncommon/init.hpp"
2324
void update(int i, T val) {
2425
for (s[i += n] = val; i /= 2;)
2526
s[i] = op(s[2 * i], s[2 * i + 1]);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
tree(const vector<T>& a, F op):
3+
n(sz(a)), op(op), s(2 * n) {
4+
rep(i, 0, n) s[i + n] = a[i];
5+
for (int i = n - 1; i >= 1; i--)
6+
s[i] = op(s[2 * i], s[2 * i + 1]);
7+
}

0 commit comments

Comments
 (0)