Count 二維樹狀陣列

2022-04-11 04:02:30 字數 597 閱讀 4181

12題解:對於每乙個顏色建乙個二維的樹狀陣列o(c*logn*logm),試了試對每個顏色,每行建乙個一維陣列,超時了。。。o(c*n*logm)

若一維樹狀陣列不會:

1 #include 2 #include 3 #include 45

using

namespace

std;

6#define maxn 30278

intn,m;

9int

g[maxn][maxn];

10int tree[102][maxn][maxn]; //

顏色,行,列

1112

int lowbit(int x)

1314

void update(int c,int x,int y,int

add)

1520

21int getsum(int c,int x,int

y)22

2930

intmain()

3155

if (op==2)56

64}65return0;

66 }

view code

BZOJ 1452 Count(二維樹狀陣列)

題意 給出乙個數字矩陣 矩陣中任何時候的數字均為 1,100 兩種操作 1 修改某個位置的數字 2 求某個子矩陣中某個數字的個數。思路 二維樹狀陣列的操作看起來跟一維的差不多,只是迴圈改為兩重而已。主要操作有 1 增加某個位置的值 2 詢問 1,1,x,y 子矩陣的和。利用 2 操作以及區間的減法操...

樹狀陣列 二維

首先初始陣列還是a陣列,二維的 搞乙個b陣列,也是二維,b i 就是a陣列第i行的一維樹狀陣列 b 2 1 a 2 1 b 2 2 a 2 1 a 2 2 b 2 3 a 2 3 最後我們來搞乙個c陣列,當然它還是二維的hhh c 1 就是第一行的樹狀陣列,c 2 是第一行加第二行,c 3 是第三行...

二維樹狀陣列

什麼是二維樹狀陣列 二維樹狀陣列 單點修改,區間查詢 include const int maxn 4096 5 typedef long long ll ll c maxn maxn int n,m int lowbit int x void modify int x,int y,int z ll...