树状数组_一维
Posted cgjh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树状数组_一维相关的知识,希望对你有一定的参考价值。
// 模板水题 敌兵布阵 HDU - 1166 class TreeArray{ public: const static int cmaxn = 1e5; /// Todo: 修改区间的最大值 int cdate[cmaxn]; int max_sz; // 表示元素的个数 在init初始化 void init(int size) { memset(cdate, 0, sizeof(cdate)); max_sz = size; // 初始化本次样例的元素的个数 } void init(int size, int array[], int len) { memcpy(cdate, array, sizeof(int)*len); max_sz = size; } inline int lowbit(int idx) { return idx & -idx; } void update(int idx, int val) { for (; idx<=max_sz; idx+=lowbit(idx)) cdate[idx] += val; } int getsum(int idx) { int res = 0; for (; idx>0; idx-=lowbit(idx)) res += cdate[idx]; return res; } int getsum(int left, int right) { return getsum(right) - getsum(left-1); } };
以上是关于树状数组_一维的主要内容,如果未能解决你的问题,请参考以下文章