poj 1195 二維樹狀陣列
裸的二維樹狀陣列模板題
求和公式注意了。
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<stack>
#include<queue>
#include<vector>
using namespace std;
int n;
int c[1111][1111];
int a[1111][1111];
#pragma comment(lingker,"/STACK:36777216") //hdu外掛
//輸入優化
inline void RD(int &ret)
{
char c;
do
{
c=getchar();
}while(c<'0'||c>'9');
ret=c-'0';
while((c=getchar())>='0'&&c<='9')
ret=ret*10+(c-'0');
}
//輸出優化
inline void OT(int a)
{
if(a>=10)
OT(a/10);
putchar(a%10+'0');
}
int lowbit(int x)
{
return x&(-x);
}
void add(int i,int j,int detal)
{
int x,y;
for(x=i;x<=n;x+=lowbit(x))
{
for(y=j;y<=n;y+=lowbit(y))
{
c[x][y]+=detal;
}
}
}
int sum(int i,int j)
{
int x,y;
int ans=0;
for(x=i;x>0;x-=lowbit(x))
{
for(y=j;y>0;y-=lowbit(y))
{
ans+=c[x][y];
}
}
return ans;
}
int main()
{
int f,x1,y1,x2,y2,num;
while(scanf("%d",&f))
{
if(f==3)
break;
if(f==0)
scanf("%d",&n);
if(f==1)
{
scanf("%d%d%d",&x1,&y1,&num);
// cin>>x1>>y1>>num;
x1++;
y1++;
add(x1,y1,num);
}
if(f==2)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
// cin>>x1>>y1>>x2>>y2;
x1++;
y1++;
x2++;
y2++;
//求和注意
printf("%d\n",sum(x2,y2)+sum(x1-1,y1-1)-sum(x2,y1-1)-sum(x1-1,y2));
//cout<<sum(x2,y2)-sum(x1,y1)<<endl;
}
}
return 0;
}
相關文章
- 二維樹狀陣列--poj1195陣列
- POJ 1195 Mobile phones(二維樹狀陣列)陣列
- 【二維樹狀陣列】poj 2155 Matrix陣列
- 二維樹狀陣列-poj2155陣列
- POJ 1195-Mobile phones(二維樹狀陣列-區間更新區間查詢)陣列
- 二維樹狀陣列陣列
- poj 2481 樹狀陣列陣列
- POJ 2155-Matrix(二維樹狀陣列-區間修改 單點查詢)陣列
- POJ 3928 Ping pong(樹狀陣列)陣列
- POJ-2352 Stars(樹狀陣列)陣列
- POJ 2352-Stars(樹狀陣列-星系)陣列
- POJ 3321-Apple Tree(樹狀陣列)APP陣列
- POJ 2352 Stars(簡單樹狀陣列)陣列
- HDU 6274 Master of Sequence(思維+樹狀陣列+二分)AST陣列
- HDU 1541 & POJ 2352 Stars (樹狀陣列)陣列
- POJ 3067-Japan(樹狀陣列-逆序數)陣列
- POJ 3321 Apple Tree(dfs+樹狀陣列)APP陣列
- 樹狀陣列陣列
- POJ 3928-Ping pong(樹狀陣列+加/乘法原理)陣列
- POJ3321 Apple Tree(DFS序 + 樹狀陣列)APP陣列
- hdu 4368 樹狀陣列 離線維護陣列
- POJ 2299-Ultra-QuickSort(樹狀陣列求逆序數)UI陣列
- 解析樹狀陣列陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- [php]運用變數引用實現一維陣列轉多維樹狀陣列PHP變數陣列
- POJ3468 A Simple Problem with Integers---樹狀陣列(區間問題)陣列
- POJ 2352(順路講解一下樹狀陣列)陣列
- POJ 3468 【區間修改+區間查詢 樹狀陣列 | 線段樹 | 分塊】陣列
- 樹狀陣列詳解陣列
- 樹狀陣列基礎陣列
- hdu 3874 樹狀陣列陣列
- 二維陣列陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- PHP二維陣列轉一維陣列PHP陣列
- 利用一維陣列構造二叉樹陣列二叉樹
- 【樹狀陣列 求比其小的個數】poj 2353 Stars陣列
- 樹狀陣列模板題 & (樹狀陣列 1:單點修改,區間查詢)陣列