博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3468
阅读量:5040 次
发布时间:2019-06-12

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

成段更新 easy

1 #include 
2 #define lson l,mid,id<<1 3 #define rson mid+1,r,id<<1|1 4 const int MM = 100001; 5 __int64 num[MM<<2],lazy[MM<<2]; 6 7 void push_down(int l,int r,int id) 8 { 9 int mid=(l+r)>>1;10 num[id<<1]+=lazy[id]*(mid-l+1);11 num[id<<1|1]+=lazy[id]*(r-mid);12 lazy[id<<1]+=lazy[id];13 lazy[id<<1|1]+=lazy[id];14 lazy[id]=0;15 }16 void build_tree(int l,int r,int id)17 {18 if(l==r)19 {20 scanf("%I64d",&num[id]);21 return;22 }23 else24 {25 int mid=(l+r)>>1;26 build_tree(lson);27 build_tree(rson);28 num[id]=num[id<<1]+num[id<<1|1];29 }30 }31 32 void Update(int L,int R,int e,int l,int r,int id)33 {34 if(L<=l&&r<=R)35 {36 num[id]+=(r-l+1)*e;37 lazy[id]+=e;38 return;39 }40 41 if(lazy[id])push_down(l,r,id);42 int mid=(l+r)>>1;43 if(L<=mid)Update(L,R,e,lson);44 if(R>mid)Update(L,R,e,rson);45 num[id]=num[id<<1]+num[id<<1|1];46 }47 48 __int64 Query(int L,int R,int l,int r,int id)49 {50 if(L<=l&&r<=R)51 {52 return num[id];53 }54 55 __int64 ret=0;56 int mid=(l+r)>>1;57 if(lazy[id])58 push_down(l,r,id);59 if(L<=mid)ret+=Query(L,R,lson);60 if(R>mid)ret+=Query(L,R,rson);61 num[id]=num[id<<1]+num[id<<1|1];62 return ret;63 }64 int main()65 {66 int n,m,i,x,y,z;67 char ch[2];68 while(~scanf("%d %d",&n,&m))69 {70 build_tree(1,n,1);71 while(m--)72 {73 scanf("%s",ch);74 if(ch[0]=='C')75 {76 scanf("%d %d %d",&x,&y,&z);77 Update(x,y,z,1,n,1);78 }79 else80 {81 scanf("%d %d",&x,&y);82 __int64 ans=Query(x,y,1,n,1);83 printf("%I64d\n",ans );84 }85 }86 87 }88 return 0;89 }

 

转载于:https://www.cnblogs.com/sylvialucy/p/4135578.html

你可能感兴趣的文章
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
【转载】 IP实时传输协议RTP/RTCP详解
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
Linux系统的数据写入机制--延迟写入
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
时间>金钱
查看>>
元数据元素
查看>>
Visual Studio Code 构建C/C++开发环境
查看>>
web自己主动保存表单
查看>>