diff --git a/structure/lazy_segment_tree.cpp b/structure/lazy_segment_tree.cpp index 61ecf3991c0e903bdfa18689f992827d4a4f67f9..b06b18d67030a4855c6020dc37996094feea4d38 100644 --- a/structure/lazy_segment_tree.cpp +++ b/structure/lazy_segment_tree.cpp @@ -8,7 +8,7 @@ * Complexity (Space): O(n) */ -int N, tree[2 * MAX], lazy[2 * MAX], v[MAX]; +int N, tree[4 * MAX], lazy[4 * MAX], v[MAX]; // Build tree with elements from v void build_tree(int node = 1, int a = 0, int b = N) { @@ -63,7 +63,7 @@ void update_tree(int i, int j, int val, int node = 1, int a = 0, int b = N) { tree[node] = tree[node * 2] + tree[node * 2 + 1]; } -// Return sum from i to j +// Return sum of [i,j] int query_tree(int i, int j, int node = 1, int a = 0, int b = N) { if (a > b || a > j || b < i) return 0; diff --git a/structure/segment_tree.cpp b/structure/segment_tree.cpp index e825ed9584c1eec7da08d92bddc79ddd7a85ed95..d0f7762180215a813ca718282dc58da4a6d8b2e7 100644 --- a/structure/segment_tree.cpp +++ b/structure/segment_tree.cpp @@ -8,7 +8,7 @@ * Complexity (Space): O(n) */ -int N, tree[2 * MAX], v[MAX]; +int N, tree[4 * MAX], v[MAX]; // Build tree with elements from v void build_tree(int node = 1, int a = 0, int b = N) { @@ -42,7 +42,7 @@ void update_tree(int idx, int val, int node = 1, int a = 0, int b = N) { tree[node] = tree[node * 2] + tree[node * 2 + 1]; } -// Return sum from i to j +// Return sum of [i,j] int query_tree(int i, int j, int node = 1, int a = 0, int b = N) { if (a > b || a > j || b < i) return 0;