算法 - 插入排序交换次数 - Binary Indexed Tree

// get cumulative sum up to and including i
int Get(int i) {
  int res = 0;
  while(i) {
    res += B[i];
    i -= (i & -i);
  }
  return res;
}

// add val to value at i
void Set(int i, int val) {
  while(i <= N) {
    B[i] += val;
    i += (i & -i);
  }
}
posted @ 2019-01-04 00:03  zjffun  阅读(277)  评论(0编辑  收藏  举报