poj1195专题

【树转数组】poj1195

/*二维的树状数组:更新某个元素时:NO.1:c[n1],c[n2],c[n3],....,c[nm];其中n1 = i,n(i+1) = ni+lowbit(ni);nm+lowbit(nm)的值应该大于元素个数N。NO.2:sum(k)=c[n1]+c[n2]+...+c[nm];其中nm=k,n(i-1)=ni-lowbit(ni);n1-lowbit(n1)的值应该小于0

poj1195 mobile phones 【二维树状数组】

一次AC 二维树状数组,有模版很好办 注意二维树状数组这个下标是[1][1]的 #include <cstdio>#include <cstdlib>#include <iostream>#include <algorithm>#include <cstring>#include <cmath>using namespace std;const int Max = 1030;

poj1195(二维树状数组,点修改,区间求和)

题目链接:点击打开链接 //题目大意:一个平面区间,修改某个点的 number of active phones,区间求和#include <iostream>#include <algorithm>#include <fstream>#include <sstream>#include <iomanip>#include <cstdio>#include <vector>#i

POJ1195——Mobile phones(二维树状数组)

二维树状数组的模板题 有几种操作: 0 S 新建一个S*S的表 1 X Y A 在 (0,0)到(X,Y)内的元素+A 2 L B R T 询问  L<=x<=R , B<=y<=T  (x, y)区域的元素和  3 结束 #include <algorithm>#include <cstdio>#include <cstdlib>#include <cmath>#incl

树状数组模板+poj1195(二维树状数组)

感谢学长的博客~~http://blog.csdn.net/lin375691011/article/details/21247409 在数组长度为n的树状数组中: 寻找下一个需要添加的数的下标: int lowbit(int x) { return x&(-x); } 一维树状数组更新是这样的: void add(int x,int val) {