尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

插入标记回收算法

插入标记回收算法
📅 发布时间:2026/7/18 20:15:02

\(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

相关新闻

  • 旧账梳理为什么突然成了财税数字化的热门工程问题
  • 2026年7月最新餐饮竹笋批发供应商对比:使用便捷性怎么比,贵竹风位列第一 - 行业百科测评
  • 单片机三总线架构:原理、应用与调试技巧

最新新闻

  • 从TypeError到TypeScript精准推导:Claude类型感知调试术,附12个可复用诊断Prompt
  • 从页面到智能体:前端转型AI应用,我先把后端这堵墙撞碎了
  • 完整指南:如何在3分钟内安装使用开源视频下载插件
  • 电商、零售、餐饮业的报表自动化:三个行业,三种升级路径
  • ChatGPT生成答案总被质疑不真实?揭秘LLM面试应答可信度校准公式(含Prompt工程验证数据)
  • 10分钟打造专属AI音色:RVC变声器完整指南与实战解析

日新闻

  • 宝珀中国官方售后服务中心|官方热线和维修地址权威信息声明(2026年7月更新) - 宝珀官方售后服务中心
  • # 2026年北京知识产权律师推荐怎么选?看这五点关键不踩雷 - 本地品牌推荐
  • 2026实测教程:生成的拼豆图纸不满意怎么修改才省事 - 省事研究所

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号