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

线段树区间查询区间修改函数

#define lson (rt<<1)
#define rson (rt<<1|1)
const int maxn=1e6+10;
int n,m;
struct node
{int l,r;long long sum;int lazy;
}tree[maxn<<2];
int a[maxn];
void pushdown(int rt)
{if (tree[rt].lazy){int lazy=tree[rt].lazy;tree[rt].lazy=0;tree[lson].lazy += lazy;tree[rson].lazy += lazy;tree[lson].sum += lazy*(tree[lson].r-tree[lson].l+1);tree[rson].sum += lazy*(tree[rson].r-tree[rson].l+1);}
}
void pushup(int rt)
{tree[rt].sum = tree[lson].sum+tree[rson].sum;
}
void build(int rt,int l,int r)
{tree[rt].l=l;tree[rt].r=r;if (l == r){tree[rt].sum=a[l];return;}int mid=(l+r) >> 1;build(lson,l,mid);build(rson,mid+1,r);pushup(rt);
}
void update(int rt,int l,int r,int val)
{if (l<=tree[rt].l && tree[rt].r<=r){tree[rt].lazy += val;tree[rt].sum += val*(tree[rt].r-tree[rt].l+1);return;}pushdown(rt);int mid = (tree[rt].l+tree[rt].r) >> 1;if (l <= mid) update(lson,l,r,val);if (r > mid) update(rson,l,r,val);pushup(rt);
}
long long query(int rt,int l,int r)
{if (l<=tree[rt].l && tree[rt].r<=r){return tree[rt].sum;}pushdown(rt);int mid = (tree[rt].l + tree[rt].r) >> 1;if (r<=mid) return query(lson,l,r);else if (l>mid) return query(rson,l,r);else return query(lson,l,r)+query(rson,l,r);
}
http://www.jsqmd.com/news/527681/

相关文章:

  • CentOS 7内网NTP服务器搭建全攻略:从零配置到多节点同步
  • VideoAgentTrek-ScreenFilter实时演示:低延迟直播流过滤系统搭建
  • 拒绝内耗,Shopee轻出海模式,轻门槛、低成本、高效率出海。 - 跨境小媛
  • Openclaw升级
  • 如何3秒获取百度网盘提取码?智能解析工具终极使用指南
  • 终极instant.page代码压缩与优化指南:快速提升网站性能的10个技巧
  • CLIP-GmP-ViT-L-14图文匹配工具参数详解:图像/文本编码器输出维度与logits归一化
  • 2025-2026年北京全屋定制品牌推荐:别墅整装一体化解决方案与真实用户反馈汇总 - 十大品牌推荐
  • ejabberd移动端集成终极指南:iOS和Android客户端开发全攻略
  • PostgreSQL高可用实战:pgpool-II主备切换与VIP漂移全流程解析
  • Himalaya命令行邮件客户端深度解析与实战部署指南
  • Storm与Hive集成终极指南:实现实时SQL查询与大数据分析 [特殊字符]
  • 【MCP Sampling调用流性能生死线】:实测对比6种采样策略(Probabilistic/Rate-Limiting/Adaptive)在百万TPS下的P99延迟差异
  • iOS应用引导页面终极适配指南:兼容不同版本与屏幕的完整解决方案
  • 系统优化工具革新:Windows Cleaner全方位实战指南——3大痛点解决与5步优化流程
  • 3秒解锁百度网盘提取码:baidupankey智能解析工具全攻略
  • Detekt终极指南:如何在CI/CD流程中快速集成代码质量检查
  • 别再只用Matplotlib了!用CloudCompare和numpy玩转3D点云可视化(附完整数据转换流程)
  • 探索LBM在固体融化与固液相变研究中的奇妙之旅
  • CosyVoice-300M-25Hz企业级应用:智能客服语音回复生成
  • ES6新特性终极指南:10个常见错误及完美解决方案
  • PHP-Console-Highlighter终极集成指南:打造完美的PHP开发环境
  • 语言哲学与测试基因的分野
  • 基于Guohua Diffusion的创意设计作品集:多风格图像生成效果展示
  • 如何为js-yaml项目贡献代码:新手完整参与指南
  • Podman镜像加速配置全攻略:阿里云/清华/网易源一键切换(附避坑指南)
  • 电子实验记录本(ELN)该选择SaaS部署还是私有化部署?
  • 终极Pokemon Cards CSS性能测试:不同设备表现大揭秘
  • 2025年IDM永久试用完整攻略:无需破解的官方替代方案
  • Maxwell磁芯仿真的奇妙探索