Tinkoff Bp 2021-2022
May 17, 2022
Тинькофф B' - Дерево Фенвика
Дерево Фенвика - структура данных, дерево на одномерном массиве, которая обладает такими свойствами, как:
Код взятия суммы на отрезке: (массив f - наше дерево)
ll get_sum(ll i){
ll ans = 0;
for(; i >= 0; i = (i&(i+1))-1){
ans += f[i];
}
return ans;
}
ll sum_otr(ll l, ll r){
return get_sum(r) - get_sum(l-1);
}void update(ll i, ll x){
for(; i < n; i = (i | (i+1))){
f[i] += x;
}
}Так же Дерево Фенвика можно сделать двумерным (подробности - https://e-maxx.ru/algo/fenwick_tree)