码迷,mamicode.com
首页 > 编程语言 > 详细

树状数组区间更新区间查询

时间:2016-06-29 23:43:51      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

 1 void ins(int k,int x,int t){
 2     for (; x<=tot; x+=x&-x) c[k][x]+=t;
 3 }
 4 ll getsum(int k,int x){
 5     ll t=0; for (; x; x-=x&-x) t+=c[k][x]; return t;
 6 }
 7 void mdy(int x,int y,int z){
 8     ins(0,x,z); ins(1,x,z*(x-1)); ins(0,y+1,-z); ins(1,y+1,-z*y);
 9 }
10 ll qry(int x,int y){
11     return getsum(0,y)*y-getsum(1,y)-getsum(0,x-1)*(x-1)+getsum(1,x-1);
12 }

 

树状数组区间更新区间查询

标签:

原文地址:http://www.cnblogs.com/Kurokey/p/5628450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!