二维树状数组
来源:互联网 发布:mysql 获取字符串下标 编辑:程序博客网 时间:2024/06/07 04:58
#include <cstdio>#include <cstring>using namespace std;int s[1050][1050],n;int lowbit(int x){ return (x& -x);}void insert(int x,int y,int m){ int i,j; for (i=x;i<=n;i+=lowbit(i)) for (j=y;j<=n;j+=lowbit(j)) s[i][j]+=m;}int getsum(int x,int y){ int i,j,ans=0; for (i=x;i>0;i-=lowbit(i)) for (j=y;j>0;j-=lowbit(j)) ans+=s[i][j]; return ans;}int get(int x1,int y1,int x2,int y2){ return (getsum(x2,y2)+getsum(x1-1,y1-1)-getsum(x1-1,y2)-getsum(x2,y1-1));}int main(){ int T,i,j,m,q,x,y,k,x1,x2,y1,y2;char ss[10]; while (scanf("%d",&T)!=EOF) { scanf("%d",&n); memset(s,0,sizeof(s)); while (scanf("%d",&T)==1 && T!=3) { if (T==1) { scanf("%d%d%d",&x,&y,&k); insert(x+1,y+1,k);//+1是因为题里面有0 } else if (T==2) { scanf("%d%d%d%d",&x1,&y1,&x2,&y2); printf("%d\n",get(x1+1,y1+1,x2+1,y2+1)); } } } return 0;}
0 0
- pku1195 二维树状数组
- 二维树状数组
- 二维树状数组
- 树状数组 二维空间
- 二维树状数组
- 二维树状数组
- 二维树状数组
- POJ2155(二维树状数组)
- poj1195 二维树状数组
- 二维树状数组
- poj1195(二维树状数组)
- hdu1892二维树状数组
- 二维树状数组-poj2155
- 二维树状数组--poj1195
- 二维树状数组模版
- poj1656 二维树状数组
- Bzoj3132 二维树状数组
- 树状数组二维扩展
- I/O多路复用详解(二)
- VS使用Xamarin连接不上Genymotion的Android模拟器的原因
- 一维的树状数组
- LeetCode 21 Merge Two Sorted Lists
- 剑指Offer面试题42(Java版):反转单词顺序VS左旋转字符串
- 二维树状数组
- JAVA 基础 (数组)
- 《机器学习系统设计》之k-近邻分类算法
- 黑马程序员-----Java基础-----构造函数
- 纵向滚动条,clientHeight, offsetHeight
- Cocos2d-js 3.0 屏幕适配方案 分辨率适应
- LeetCode Find Minimum in Rotated Sorted Array系列
- fuck
- Socket与网站保密应用 (隐藏链接的视频下载)