poj_1195Mobile phones,二维树状数组
来源:互联网 发布:arm编程 编辑:程序博客网 时间:2024/06/09 18:24
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[1300][1300];int s;int lowbit(int x){ return x&(-x);}void add(int x,int y,int d){ for(int i=x;i<=s;i+=lowbit(i)) for(int j=y;j<=s;j+=lowbit(j)) a[i][j]+=d;}int sum(int x,int y){ int ret=0; for(int i=x;i>0;i-=lowbit(i)) for(int j=y;j>0;j-=lowbit(j)) ret+=a[i][j]; return ret;}int main(){ while(scanf("%d%d",&s,&s)!=EOF) { memset(a,0,sizeof(a)); int n,x,y,d,xt,yt; while(scanf("%d",&n)) { if(n==3) break; if(n==1) { scanf("%d%d%d",&x,&y,&d); x++,y++; add(x,y,d); } if(n==2) { scanf("%d%d%d%d",&x,&y,&xt,&yt); x++,y++,xt++,yt++; int ans=sum(xt,yt)-sum(xt,y-1)-sum(x-1,yt)+sum(x-1,y-1); cout<<ans<<endl; } } } return 0;}
0 0
- poj_1195Mobile phones,二维树状数组
- Mobile phones(二维树状数组)
- PKU1195 Mobile phones - 二维树状数组
- POJ 1195 Mobile phones 二维树状数组
- POJ 1195 Mobile phones【二维树状数组】
- POJ1195 Mobile phones, 二维树状数组
- POJ 1195 Mobile phones 二维树状数组
- poj 1195 Mobile phones 二维树状数组
- POJ 1195 Mobile phones 二维树状数组
- poj 1195 Mobile phones +二维树状数组
- poj1195 Mobile phones 二维树状数组
- POJ 1195 Mobile phones 二维树状数组
- Mobile Phones poj 1195--二维树状数组
- POJ1195--Mobile phones--二维树状数组
- POJ 1195 Mobile phones【二维树状数组】
- POJ 1195 Mobile phones(二维树状数组)
- POJ 1195 Mobile phones(二维树状数组)
- POJ 1195 Mobile phones(二维树状数组)
- 经典趣味数学问题之过河问题
- Android 蓝牙编程学习一基本操作
- jquery validate 中文教程【入门到精通】
- hadoop(hadoop-2.2.0) 安装
- [2014年中总结-暑假]TGB之旅
- poj_1195Mobile phones,二维树状数组
- 计算几何模板收藏。
- 深入理解C++的动态绑定和静态绑定
- iOS中调用相机以及相册
- java中static作用详解
- 一个界面实现多个listview
- MFC 和 数据库Access 用 Ado类 操作
- 从应用的角度了解遗传算法
- 机房收费 之 Excel导出