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

线段树——线段树1(求和)

线段树——线段树1(求和)

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define int long long
#define endl '\n'
const int N=1e5+114;
int n,m;
int s[N];
struct node{int l,r,val,lazy;
}tree[2*N];
void build(int l,int r,int num){tree[num].l=l;tree[num].r=r;if(l==r){tree[num].val=s[l];return;}int mid=l+(r-l)/2;build(l,mid,2*num);build(mid+1,r,2*num+1);tree[num].val=tree[2*num].val+tree[2*num+1].val;return;
}
int getsum(int tarl,int tarr,int num){if(tree[num].l>=tarl&&tree[num].r<=tarr)return tree[num].val+tree[num].lazy*(tree[num].r-tree[num].l+1);if(tree[num].r<tarl||tree[num].l>tarr)return 0;if(tree[num].lazy){tree[num].val+=tree[num].lazy*(tree[num].r-tree[num].l+1);tree[2*num].lazy+=tree[num].lazy;tree[2*num+1].lazy+=tree[num].lazy;tree[num].lazy=0;}int ans=0;ans+=getsum(tarl,tarr,2*num);ans+=getsum(tarl,tarr,2*num+1);return ans;
}
void add(int tarl,int tarr,int num,int plus){if(tree[num].l>=tarl&&tree[num].r<=tarr){tree[num].lazy+=plus;return;}if(tree[num].r<tarl||tree[num].l>tarr)return;if(tree[num].lazy!=0){tree[2*num].lazy+=tree[num].lazy;tree[2*num+1].lazy+=tree[num].lazy;tree[num].val+=tree[num].lazy*(tree[num].r-tree[num].l+1);tree[num].lazy=0;}tree[num].val+=plus*(min(tree[num].r,tarr)-max(tree[num].l,tarl)+1);add(tarl,tarr,2*num,plus);add(tarl,tarr,2*num+1,plus);return;
}
signed main(){IOScin>>n>>m;for(int i=1;i<=n;i++)cin>>s[i];build(1,n,1);while(m--){int which;cin>>which;if(which==1){int l,r,plus;cin>>l>>r>>plus;add(l,r,1,plus);}else {int l,r;cin>>l>>r;cout<<getsum(l,r,1)<<endl;}}return 0;
}
http://www.jsqmd.com/news/51545/

相关文章:

  • Windows Hello相机无法启动?三套解决方案帮你敏捷修复
  • 全流程自动化与成本结构优化——睿标AI的降本增效实践
  • 科技特长生辅导机构哪家强?2025升学加分靠谱机构选择指南
  • AE/PR插件-FilmConvert Nitrate v3.54 数字转胶片调色插件+预设+调色教程
  • 2025下半年北京朝阳区/通州区/西城区/东城区/丰台区/海淀区遗产纠纷继承律师服务专业指南:十大精选律所推荐
  • Floyd——多源最短路
  • 2025年厦门舞台搭建机构权威推荐榜单:展览搭建‌/展厅设计‌/会议制作‌源头机构精选
  • Manacher——最长回文子串问题
  • Tarjan——强连通分量
  • 次短路 dijkstra
  • 优化需求评审流程论LLM与人工审查协同模式
  • 2025年11月少儿编程机构怎么选?家长必藏的口碑推荐指南
  • 超越监控:MyEMS 在水泥生产工艺中的深度集成与能效协奏(以印尼 SIG 水泥为例)
  • nvm和npm镜像源配置
  • 银河麒麟下Redis的安装和集群配置
  • 从开发板到工业核心:迅为RK3576的金属外壳,为何是行业应用的“点睛之笔”?
  • Transformer 架构中的 ResNet + LayerNorm 设计解析
  • 【IEEE出版 | EI期刊同步征稿 | 往届已快速成功EI检索】第六届新能源与电气科技国际学术研讨会 (ISNEET 2025)
  • dijkstra——单源最短路径(标准版)
  • 蓝桥杯python基础语法
  • Jenkins view权限
  • Acrobat DC 2025安装教程
  • 实用指南:Windows 环境下为银河麒麟(Linux ARM64)生成 node_modules 依赖
  • 从数据洞察到财务收益:MyEMS 如何通过 AI 优化调度帮助企业将能效提升转化为真金白银
  • 2025年11月英语学习软件推荐:从零基础到流利口语,最好的学英语软件全攻略
  • RAG项目实战:基于图文PDF的多模态问答RAG项目(二)之向量库建设
  • 【SAE出版|EI检索|北京航天航空大学主办】第六届应用力学与机械工程国际学术会议(ICAMME 2025)
  • 高频电流探头频率响应特性及其影响因素深度分析
  • C++ 基础学习总结:从入门到构建核心认知 - 实践
  • 题解:P14598 [COCI 2025/2026 #2] 搭塔 / Tornjevi