摘要:
1 /* 2 题意 : 3 改变矩阵中元素值 ,求子矩阵的和 4 二维树状数组, 5 */ 6 7 #include<stdio.h> 8 #define N 1050 9 int s;10 int map[N][N];11 int lowbit(int x)12 {13 return x&(-x);14 }15 void add(int x,int y,int d)16 {17 int i=x;18 int j=y;19 while(i<=s)20 {21 j=y;22 while(j<=s)23 ... 阅读全文
posted @ 2012-04-20 18:57
Szz
阅读(171)
评论(0)
推荐(0)
摘要:
1 #include<stdio.h> 2 #include<string.h> 3 #define N 600000 4 int n; 5 int a[N],c[N]; 6 int lowbit(int x) 7 { 8 return x&(-x); 9 }10 int sum(int k)11 {12 int ans=0;13 while(k>0)14 {15 ans+=c[k];16 k=k-lowbit(k);17 }18 return ans;19 }20 int add(int pos ,int nu... 阅读全文
posted @ 2012-04-20 17:04
Szz
阅读(190)
评论(0)
推荐(0)
摘要:
1 概述 2 3 树状数组是一个查询和修改复杂度都为log(n)的数据结构,假设数组a[1..n], 用lowbit函数维护了一个树的结构那么查询a[1]+...+a[n]的时间是log级别的,而且是一个在线的数据结构, 4 支持随时修改某个元素的值,复杂度也为log级别。 5 来观察这个图: 6 令这棵树的结点编号为C1,C2...Cn。令每个结点的值为这棵树的值的总和,那么容易发现: 7 C1 = A1 8 C2 = A1 + A2 9 C3 = A310 C4 = A1 + A2 + A3 + A411 C5 = A512 C6 = A5 +... 阅读全文
posted @ 2012-04-20 16:57
Szz
阅读(395)
评论(0)
推荐(0)
浙公网安备 33010602011771号