当前位置: 首页 > news >正文

线段树模板1

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
#define ll long longll n,m,sum[maxn<<2],add[maxn<<2];void pushup(ll id){sum[id]=sum[id<<1]+sum[id<<1|1];
}void pushdown(ll id,ll len){if(add[id]){add[id<<1]+=add[id];add[id<<1|1]+=add[id];sum[id<<1]+=(len-(len>>1))*add[id];sum[id<<1|1]+=(len>>1)*add[id];add[id]=0;}
}void build(ll l,ll r,ll id){if(l==r){cin>>sum[id];return;}ll mid=(l+r)>>1;build(l,mid,id<<1);build(mid+1,r,id<<1|1);pushup(id);
}ll query(ll a,ll b,ll l,ll r,ll id){if(a<=l&&b>=r)return sum[id];pushdown(id,r-l+1);ll mid=(l+r)>>1;ll ans=0;if(a<=mid)ans+=query(a,b,l,mid,id<<1);if(b>mid)ans+=query(a,b,mid+1,r,id<<1|1);return ans;
}void update(ll a,ll b,ll c,ll l,ll r,ll id){if(a<=l&&b>=r){add[id]+=c;sum[id]+=(r-l+1)*c;return;}pushdown(id,r-l+1);ll mid=(l+r)>>1;if(a<=mid)update(a,b,c,l,mid,id<<1);if(b>mid)update(a,b,c,mid+1,r,id<<1|1);pushup(id);
}int main(){cin>>n>>m;build(1,n,1);ll op,x,y,k;while(m--){cin>>op;if(op==1){cin>>x>>y>>k;update(x,y,k,1,n,1);}else{cin>>x>>y;cout<<query(x,y,1,n,1)<<endl;}}return 0;
}
http://www.zskr.cn/news/16046.html

相关文章:

  • 20多年前李敖告訴你美國為什麼不可靠?
  • 2025数控铣床厂家最新企业品牌推荐排行榜, 双头数控铣床,双面数控铣床,龙门数控铣床,双侧数控铣床推荐这十家公司!
  • 题解:2025.10.信友队.智灵班选拔面试题目
  • MX WEEK4
  • 实用指南:【25软考网工】第十章 网络规划与设计(1)综合布线
  • 深入解析:Java基础(二):八种基本数据类型详解
  • 物理_备忘
  • 详细介绍:静态资源js,css免费CDN服务比较
  • 在AI技术唾手可得的时代,挖掘JavaScript学习资源的新需求成为关键
  • 读人形机器人31未来30年
  • 【java面试】redis篇 - 指南
  • NLP学习路线图(十四):词袋模型(Bag of Words) - 详解
  • 2025 年搅拌器厂家最新推荐排行榜:涵盖立式、不锈钢、侧入式等多类型设备,深度解析实力厂商
  • 2025 年最新推荐承烧板厂家排行榜:筛选优质企业,破解采购难题,赋能高温工业生产
  • 一文看懂AI SoC芯片
  • Python 在自动化测试与质量保障中的应用
  • 玩转树莓派屏幕之一:LCD屏幕显示
  • Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
  • 一次幸运的ORA-07445 kdxlin故障恢复---惜分飞
  • 02-springIOC01-注解方式实现
  • Excel表设置为细框线
  • US$28.5 CG A11DS 3 Buttons Wire Remote Used with CGDI K2 Remote Key Programmer 5pcs/lot
  • 前端学习教程-ElementPlus 教程
  • US$78.85 CG ZA11 BEN.Z(3BTN) 3 Buttons Smart Remote Used with CGDI K2 Remote Key Programmer 5pcs/lot
  • Syncthing 2.0 版本开机自启
  • 基于pycharm实现html文件的快速达成问题讨论
  • 『回忆录』返校前夜 230102
  • 断更
  • docker单机部署hadoop 官方镜像3.3.6 过程问题记录 - 教程
  • Kafka06-进阶-尚硅谷 - 实践