1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| struct FenwickTree{ int n; vector<int>bit; FenwickTree(int n) : n(n), bit(n + 1, 0) {}
void update(int p, int v){ while(p <= n){ bit[p] += v; p += p & (-p); } }
int query(int p){ int sum = 0; while(p > 0){ sum += bit[p]; p -= p & (-p); } return sum; } };
|