博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二维树状数组模板
阅读量:5226 次
发布时间:2019-06-14

本文共 1047 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int MAX=1200;int c[MAX][MAX];int n;int LowBit(int t){ return t&(-t);}int Sum(int endx,int endy)//(1,1) 到 (endx,endy) 矩阵的和{ int sum=0; int temp=endy; while(endx>0) { endy=temp; while (endy>0) { sum+=c[endx][endy]; endy-=LowBit(endy); } endx-=LowBit(endx); } return sum;}void add(int addx,int addy,int num)//(x,y) 处增加num{ int temp=addy; while (addx <=n) { addy=temp; while(addy<=n) { c[addx][addy]+=num; addy+=LowBit(addy); } addx+=LowBit(addx); }}int GetSum(int l,int b,int r,int t)//求 (l,b) (r,t) 矩阵的和{ return Sum(r,t)-Sum(r,b-1)-Sum(l-1,t)+Sum(l-1,b-1);}int main(){ int gg; int x; int a1,a2,a3,a4; scanf("%d",&n); while(scanf("%d",&x)!=EOF&&x!=3){ if(x==1){ scanf("%d%d%d",&a1,&a2,&a3); add(a1+1,a2+1,a3); } else{ scanf("%d%d%d%d",&a1,&a2,&a3,&a4); cout<
<

 

转载于:https://www.cnblogs.com/yigexigua/p/4162652.html

你可能感兴趣的文章
linux中文乱码
查看>>
第1周团队作业
查看>>
A CIRCULAR PROGRESSBAR STYLE USING AN ATTACHED VIEWMODEL
查看>>
Java I/O流
查看>>
zabbix邮件报警
查看>>
CentOS 6 安装Syslog-ng
查看>>
20145221高其&20145326蔡馨熠《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验...
查看>>
做机器学习到现在总结的经验
查看>>
编程网站
查看>>
linux启动过程分析
查看>>
jquery easy ui 实现radio单选
查看>>
SpringMVC+Freemarker+JSTL支持
查看>>
Java学习之路(书籍推荐)
查看>>
NIOS II常用函数整理【转】
查看>>
[原创]新建对象:反射会调用构造函…
查看>>
delphi通过url下载文件
查看>>
JAVA中java.lang.OutOfMemoryError常见的解决方式
查看>>
'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
查看>>
datetime与logging(占坑待补)
查看>>
spring回顾总结
查看>>