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

OI 各种东西的板子

线段树

const int _mxn=1e5+5;
int n;
ll a[_mxn];
struct segtree
{typedef ll dat_type;struct node{int l,r;dat_type dat;dat_type add;int len(){return r-l+1;}}tr[_mxn<<2];inline int ls(int p){return p<<1;}inline int rs(int p){return p<<1|1;}void _pushup(dat_type &pdat,dat_type ldat,dat_type rdat)//{pdat=ldat+rdat;}void _upd(int p,dat_type add)//{tr[p].dat+=add*tr[p].len();tr[p].add+=add;}void pushup(int p){_pushup(tr[p].dat,tr[ls(p)].dat,tr[rs(p)].dat);}void build(int p,int l,int r){tr[p].l=l,tr[p].r=r;tr[p].add=0;if(l==r){tr[p].dat=a[l];return;}int mid=(l+r)>>1;build(ls(p),l,mid);build(rs(p),mid+1,r);pushup(p);}void pushdown(int p){_upd(ls(p),tr[p].add);_upd(rs(p),tr[p].add);tr[p].add=0;//记得清零 tag}void update(int p,int l,int r,dat_type k){if(l<=tr[p].l&&tr[p].r<=r){_upd(p,k);return;}if(r<tr[p].l||tr[p].r<l)return;pushdown(p);update(ls(p),l,r,k);update(rs(p),l,r,k);pushup(p);}dat_type query(int p,int l,int r){if(l<=tr[p].l&&tr[p].r<=r)return tr[p].dat;if(r<tr[p].l||tr[p].r<l)return 0;//pushdown(p);dat_type res;_pushup(res,query(ls(p),l,r),query(rs(p),l,r));return res;}
};

咕咕咕。。。

http://www.hskmm.com/?act=detail&tid=25335

相关文章:

  • 价值弥漫:AI元人文的场域革命与共生之路
  • 做题记录 #1
  • 阿爸阿爸
  • 深度学习优化器算法巧思速览
  • 完整教程:LangChain完全指南:从入门到精通,打造AI应用开发新范式
  • NDK开发与实践(入门篇微课视频版)
  • 调了很久的代码总结
  • CF700E
  • 价值弥漫:“AI元人文”的场域革命与共生之路
  • k8s之pod概念
  • CF 1055 Div.1+Div.2
  • 2026 NOI 做题记录(五)
  • ARC 207 (Div.1)
  • “齐俊杰投资智能体”更新完了9月份的资料
  • LVS+Keepalived高可用群集 - 指南
  • luogu P1020 [NOIP 1999 提高组] 导弹拦截
  • RabbitMQ 离线安装
  • Nginx 离线安装
  • docker 离线安装
  • uniapp 转回tabbar页面
  • 第十一届中国大学生程序设计竞赛网络预选赛 魔塔
  • JDK 离线安装
  • minio 离线安装
  • HbuilderX 将 h5转成uniapp的一些记录.19127294
  • 银行同业存单产品的筛选方法
  • deepseek 私有部署文档
  • MySQL运维及开发规范
  • 短视频平台差异视角下开源AI智能名片链动2+1模式S2B2C商城小代码的适配性研究——以抖音与快手为例
  • 异步读写mysql依赖pymysql (asyncio/ aiomysql)
  • Linux发行版切换技术全解析