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

动态开点线段树模板

const int M =1e5+5; 
struct node{int sum=0;int l=0,r=0;
}tr[M*30];
#define ls(x) (tr[x].l)
#define rs(x) (tr[x].r)
#define sum(x) (tr[x].sum)
int tot;
void pull(int x){sum(x)=sum(ls(x))+sum(rs(x));}
void push(int x){if(!ls(x))ls(x)=++tot;if(!rs(x))rs(x)=++tot;
}
int qr(int x,int l,int r,int L,int R){if(L<=l&&r<=R)return sum(x);if(l>R || r<L)return 0;push(x);int mid = (l+r-1)>>1;return qr(ls(x),l,mid,L,R)+qr(rs(x),mid+1,r,L,R);
}
void change(int x,int l,int r,int pos,int k){if(l==r){sum(x)+=k;return;}int mid =(l+r-1)>>1;push(x);if(pos<=mid)change(ls(x),l,mid,pos,k);else change(rs(x),mid+1,r,pos,k);pull(x);
}
http://www.gsyq.cn/news/29265.html

相关文章:

  • 博弈2
  • sg
  • 解决复制 Ubuntu Server 虚拟机后网络不通的问题(IP冲突问题)
  • postgresql查询数据sql无法使用到索引
  • 自动机
  • 标注工具--抹除目标
  • 【数据挖掘】基于随机森林回归模型的二手车价格预测分析(信息集+源码)
  • Z函数(扩展 KMP)
  • 常用例题
  • 实验报告3
  • 2025年环评公司权威推荐排行榜,环评手续,环评报告,环评验收,专业高效服务助力企业合规发展
  • Seata用法
  • Day3多媒体标签——视频与音频
  • 提交一张 PPT,参与 RTE2025 全球语音智能体云展示
  • 完整教程:深入解析AppCrawler:开源自动遍历测试工具配置指南
  • 解释 EIP-4337
  • 材料包含与下载漏洞
  • 完整教程:Elasticsearch面试精讲 Day 23:安全认证与权限控制
  • 求解连续数字的正约数集合——倍数法
  • 欧拉筛(线性筛)
  • 常见数列
  • Markdown数学公式 - -一叶知秋
  • 最小割
  • 查询GPIO状态值(步骤)
  • 欧拉路径/欧拉回路 Hierholzers
  • 无源汇点的最小割问题 Stoer–Wagner
  • 染色法判定二分图 (dfs算法)
  • 链式前向星建图与搜索
  • 一般图最大匹配
  • CF2152G