From 7e4885e7f3806dd39876cc1e58a7a2a529bf603f Mon Sep 17 00:00:00 2001 From: FreddyTurbins <67752837+FreddyTurbins@users.noreply.github.com> Date: Thu, 1 Oct 2026 16:02:06 -0300 Subject: [PATCH] bit init on o(n) --- content/data-structures/range-queries/bit.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/data-structures/range-queries/bit.cpp b/content/data-structures/range-queries/bit.cpp index 07dc208..012219e 100644 --- a/content/data-structures/range-queries/bit.cpp +++ b/content/data-structures/range-queries/bit.cpp @@ -7,8 +7,10 @@ struct fenwick_tree { vector bit; int n; fenwick_tree(int n): n(n) { bit.assign(n, 0); } fenwick_tree(vector &a): fenwick_tree(a.size()) { - for (size_t i = 0; i < a.size(); i++) - add(i, a[i]); + for (size_t i = 0; i < a.size(); i++) { + bit[i]+=a[i]; + if ((i|(i + 1)) < a.size()) bit[i|(i + 1)]+=bit[i]; + } } ll sum(int r) { ll ret = 0; @@ -23,4 +25,4 @@ struct fenwick_tree { for (; idx < n; idx = idx | (idx + 1)) bit[idx] += delta; } -}; \ No newline at end of file +};