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

插入标记回收算法

\(f_Rf_{R-1}\dots f_{l+1}(f_l(x))=f_l\circ f_{l+1}\dots \circ f_{r-1} \circ f_r\)

  • 插入:如果存在以 \(i\) 位置为左端点的区间询问,则需要将该询问的初值插入集合 \(S\) 中。

  • 标记:扫描线每次从 \(i\) 扫到 \(i+1\) 时对 \(S\) 进行全局修改,通常通过打标记实现。

  • 回收:如果存在以 i 位置为右端点的区间询问,则需要查询该询问目前的答案

template<typename T>
struct ptr{static T data[maxn];static int tot;int p;ptr<T>& alloc(){return p=++tot,*this;}T* operator->(){return &data[p];}explicit operator bool(){return p;}friend bool operator==(ptr<T> x,ptr<T> y){return x.p==y.p;}
};template<typename T>T ptr<T>::data[maxn];
template<typename T>int ptr<T>::tot;#define self ptr<Node>{int(this-ptr<Node>::data)}mt19937 gen(4);struct Node{ptr<Node> ls,rs,fa;int val,rk;int valadd;void tagadd(int want){val+=want,valadd+=want;}void push_down(){if(valadd) ls->tagadd(valadd),rs->tagadd(valadd),valadd=0;}pair<ptr<Node>,ptr<Node>> split(int x){if(!self) return {};push_down();if(val<=x){auto tmp=rs->split(x);return rs=tmp.x,tmp.x->fa=self,tmp.y->fa={},make_pair(self,tmp.y);}else{auto tmp=ls->split(x);return ls=tmp.y,tmp.y->fa=self,tmp.x->fa={},make_pair(tmp.x,self);}}int getfst(){ptr<Node> x=self;while(x->ls) x->push_down(),x=x->ls;return x->val;}friend ptr<Node> merge(ptr<Node> x,ptr<Node> y){if(!x) return y;if(!y) return x;if(x->rk<y->rk) return x->push_down(),x->rs=merge(x->rs,y),x->rs->fa=x,x;else return y->push_down(),y->ls=merge(x,y->ls),y->ls->fa=y,y;}friend ptr<Node> join(ptr<Node> x,ptr<Node> y){ptr<Node> ans{};while(x){auto tmp=x->split(y->getfst());ans=merge(ans,tmp.x),x=tmp.y;swap(x,y);}return merge(ans,y);}void load(){static ptr<Node> stk[maxn];int tot=0;ptr<Node> x=self;while(x->fa) x=x->fa,stk[++tot]=x;while(tot) stk[tot--]->push_down();}void check(){if(ls) assert(ls->fa==self),ls->check();if(rs) assert(rs->fa==self),rs->check();}void dbg(string s=""){if(!self) return;cerr<<s<<"id:"<<self.p<<",val:"<<val<<endl;push_down();ls->dbg(s+"  "),rs->dbg(s+"  ");}
};

QOJ8672

http://www.jsqmd.com/news/1215215/

相关文章:

  • 2026全国标书代写公司权威排名|全国连锁正规投标文件制作机构实力测评
  • 号码认证服务商怎么选?终端直连与APP依赖的差异解析
  • 《飞算 JavaAI 炫技赛实操:从零落地企业物料溯源管理系统》
  • 旧账梳理为什么突然成了财税数字化的热门工程问题
  • 10分钟掌握:roop-unleashed - 零代码AI换脸的完整实践指南
  • 从 400A 到 2000A,大电流检测在工程应用中的几种实现方式
  • 私藏 6 个素材站点!拯救低流量教育海报,新手一键做出优质内容
  • 2026年7月最新餐饮竹笋批发供应商对比:使用便捷性怎么比,贵竹风位列第一 - 行业百科测评
  • 手撕Transformer:从零实现PyTorch原语级Attention与LayerNorm
  • 一文搞懂什么是多模态大模型?为什么需要多模态大模型?
  • 【单片机毕业设计】基于 STM32 的带光照检测与短信验证智能快递柜系统设计与实现,基于 STM32 单片机的光感 LED 照明快递存取柜控制系统开发(017102)
  • EtherNet/IP在汽车焊接中的低成本实时通讯方案
  • 自由能全预混低氮冷凝燃气容积式热水器三大原创核心技术
  • 本地部署AI模型与知识库:从硬件配置到实战优化
  • 单片机三总线架构:原理、应用与调试技巧
  • 帝舵官方售后服务中心服务热线及门店详细地址实地考察报告+多信源验证(2026年7月更新) - 帝舵中国官方服务中心
  • BMS高压电路设计与菊花链通信技术解析
  • XGF10-Z-4典型接入方式解析:10千伏专变用户380伏多点分布式光伏如何并网?
  • 采购订单创建价格重确定异常修复
  • 2026 年更新:城阳热门的沙盘模型品牌格局重塑与选型新思路,揭秘决策的底层逻辑:沙盘模型如何颠覆你的规划思维 - 企业推荐官【认证】
  • 小厂采购不干胶不想压库存?三个方案让起订量降一半——禹尚50卷起订3天快速打样
  • 积家中国官方售后服务中心|服务电话及完整官方地址权威信息声明(2026年7月更新) - 积家官方售后服务中心
  • 长文本幻觉率飙升37%?——2024主流开源/闭源模型在法律合同与医学文献场景下的事实一致性横向测评,仅限本周公开
  • 信息透明度正在改变消费决策的逻辑
  • 【单片机毕业设计】基于 STM32 的智能户外晾晒衣架控制系统设计与实现,基于 STM32 单片机的多传感器智能晾衣装置开发(017202)
  • Tracker LDO工作原理与应用场景解析
  • 企优托GEO推广:以AI技术重构营销,打造企业长效获客新优势
  • 半导体制造PIE工程师:工艺整合与良率提升关键角色
  • BUCK电路中LC滤波器传递函数推导与应用
  • 2026年7月最新亨得利官方服务项目及价格查询|详细地址与客服电话权威信息通知 - 亨得利官方