poj 1195
2015-08-10 11:30
302 查看
二维树状数组:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804
#include <stdio.h> #include <string.h> #define maxn 1035 int C[maxn][maxn]; int S; int lowbit(int t){ return t&(-t); } int Sum(int i, int j){ int result = 0; for(int x = i;x > 0;x -= lowbit(x)){ for(int y = j;y > 0;y -= lowbit(y)){ result += C[x][y]; } } return result; } void Modify(int i, int j, int delta){ for(int x = i;x <= S;x += lowbit(x)) for(int y = j;y <= S;y += lowbit(y)){ C[x][y] += delta; } } int main() { int ins, x, y, a, l, b, r, t; while(scanf("%d %d", &ins, &S) != EOF) { memset(C, 0, sizeof(C)); while(scanf("%d", &ins)&&ins != 3) { if(ins == 1){ scanf("%d %d %d", &x, &y, &a); Modify(x + 1, y + 1, a); } if(ins == 2){ scanf("%d %d %d %d", &l, &b, &r, &t); l++, b++, r++, t++; printf("%d\n", Sum(r, t) - Sum(l - 1, t) - Sum(r, b - 1) + Sum(l - 1, b - 1)); } } } }
相关文章推荐
- strcpy()、memcpy()、memmove()、memset()的实现
- mac中vim无法进行复制问题
- Linux学习笔记:Linux分区
- tar参数解释
- Mysql修改root密码方式
- jQuery提交form表单
- 【原创】驱动加载之StartService
- struts2框架原理
- struts2框架原理
- oracle rownum终极讲解
- OpenCV :: adaptiveThreshold()
- leetcode 日经贴,Cpp code -Dungeon Game
- WM_COMMAND消息机制
- 【深拷贝/浅拷贝】javascript的深拷贝和浅拷贝
- Linux SendMail服务启动慢总结
- MySQL数据库分布式事务XA优缺点与改进方案
- 【深拷贝/浅拷贝】javascript的深拷贝和浅拷贝 分类: js javascript深拷贝 深拷贝浅拷贝 javascript 2015-08-10 11:29 7人阅读 评论(0) 收藏
- linux ORACLE备份还原(EXP\IMP)
- asp.net web.config攻略
- QT程序登录界面回车按钮响应