Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;//inline int lowbit(int x) { return x&(x^(x-1)); }inline int lowbit(int x) { return x&-x; }struct FenwickTree {int n;vector<int> C;void resize(int n) { this->n = n; C.resize(n); }void clear() { fill(C.begin(), C.end(), 0); }// 计算A[1]+A[2]+...+A[x] (x<=n)int sum(int x) {int ret = 0;while(x > 0) {ret += C[x]; x -= lowbit(x);}return ret;}// A[x] += d (1<=x<=n)void add(int x, int d) {while(x <= n) {C[x] += d; x += lowbit(x);}}};const int maxn = 20000 + 5;