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

题解:AT_abc435_e [ABC435E] Cover query

AT_abc435_e [ABC435E] Cover query 题解

题目链接(洛谷)

题目大意

\(N\) 个格子,初始全为白色。先有 \(Q\) 次区间染色操作,每次把区间 \([l,r]\) 的格子染成黑色,问每次操作后有多少个格子任然是白色。
\(1 \le N \le 10^9,1\le Q \le 2 \times 10^5\)

做法

看到区间推平,容易想到 ODT。
赛时看到本题的操作只有区间推平,于是就写了用 set 维护连续的黑色段。
先贴一下核心代码。

//ss 是一个维护结构体 range(区间)的 set,range 基于 r 比较 
while(q--){int l,r;read(l),read(r);auto t=ss.lower_bound(range{l,l});//找到第一个会被删除的区间#define y (*t)for(;t!=ss.end();){if(y.l>r) break;cmin(l,y.l);cmax(r,y.r);//这两行的作用可以画个图,即两区间相交,最后的黑色的范围是两个区间并起来。ans+=y.r-y.l+1;//维护答案t=ss.erase(t);//erase 的返回值是下一个元素}ans-=r-l+1;ss.insert(t,{l,r});printf("%d\n",ans);
}

我们来尝试证明这个做法的复杂度。定义势能函数 \(\phi\) 为黑色段的数量,即 ss.size()。每次插入操作最多使 \(\phi\) 加一,且 \(\phi \ge 0\),所以势能的总变化量是 \(O(Q)\),即我们会调用 \(O(Q)\)inesrterase。而在 set 根据迭代器插入或删除都是 \(O(1)\) 的,故维护 set 的总复杂度为 \(O(Q)\)。复杂度瓶颈在于每次查询时找区间的 lower_bound,整个代码复杂度为 \(O(Q \log Q)\)
不知道这算不算 ODT。完整代码可以在 AC 记录查看。
此外,本题显然存在 \(O(Q \log N)\) 的动态开点线段树做法,这里不做介绍。

拓展

介绍一个颜色段均摊理论的小应用。
如果本题加强为求区间 \([l,r]\) 的白色的格子数目,那么 ODT 查询时就复杂度不对了。此时只能写线段树。
假如你不会用线段树区间推平,只会区间加。应该没有这样的人吧。我们也可以用颜色段均摊理论将区间推平转化为区间加。
具体做法为用 set 维护区间白色连续段,对于在区间中的白色的连续段,在 set 中删除,在线段树上区间加。
该做法在此题可能没有什么价值,但有些题目的性质可能没有这么好,这种用 ODT 来维护其他数据结构的办法有一定的作用。
需要用的题目有 P4690 [Ynoi Easy Round 2016] 镜中的昆虫,P5524 [Ynoi2012] NOIP2015 充满了希望

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

相关文章:

  • 迈向深空:软件工厂如何破解载人登月火箭软件研制难题
  • 聚焦2026年2月工业纸箱企业推荐排行,选箱不用愁,纸盒/农产品纸箱/纸箱/彩印包装/工业纸盒,工业纸箱直销厂家排行 - 品牌推荐师
  • 前后端分离交通管理在线服务系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 前后端分离流浪动物救助网站系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • Verilog源码实现FPGA与ET1100通信的EtherCAT从站方案
  • 企业级校园组团平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • 7天读懂MySQL|特别篇:MVCC详解 - 详解
  • 2025平台货架实力厂家盘点,选对合作伙伴!自动化立体库/仓储货架/隔板货架/重型货架/轻型货架,平台货架公司推荐榜 - 品牌推荐师
  • Python文本为什么会乱码?从根源到解决方案的深度解析
  • 2026靠谱MBR膜厂家大排行,快来一探究竟,纯水反渗透膜/MBR膜污水处理设备,MBR膜源头供应厂家哪家好 - 品牌推荐师
  • 定稿前必看!8个降AIGC软件测评:本科生降AI率必备工具推荐
  • 中文乱码恢复方案
  • Linux USB应用开发学习笔记
  • 赶deadline必备!千笔ai写作,备受喜爱的AI论文写作软件
  • 小丑牌游记
  • 摆脱论文困扰!顶尖配置的AI论文网站 —— 千笔·专业学术智能体
  • 苏州靠谱家教一对一收费多少?2026年最新价格解析,上门家教/一对一家教试听课/全托一对一/大学生家教,家教老师怎么选择 - 品牌推荐师
  • 阿里面试:订单创建失败,积分却扣了?分布式事务 TCC / Seata / Saga 到底选哪个?TCC的三个坑,90%的人答不上来!
  • 横评后发现 9个降AI率软件降AIGC网站:自考降AI率必备工具全测评
  • 西门子Smart200 PLC锁机方案:分期、验证码与无限次加密探索
  • Difference between BeanFactory and FactoryBean in Spring
  • [特殊字符] AI闪应用爆火!超算互联网,免费托管你的创意!
  • 2026年目前评价高的AI搜索企业口碑推荐榜,抖音头条信息流广告/视频矩阵/广告代运营,AI搜索企业推荐 - 品牌推荐师
  • Flutter 项目结构为什么“看起来干净,后期却很难改“?
  • 在职护士怎么备考2026主管护师?三轮备考法+三个提分技巧,一次上岸! - 医考机构品牌测评专家
  • 2026主管护师备考:一位过来人的3个“巧学”备考方法,在职护士这样学更省力 - 医考机构品牌测评专家
  • 2026年鼠标微动开关供应商优选指南,快收藏,鼠标微动开关/电动推杆微动开关,鼠标微动开关制造企业怎么选购 - 品牌推荐师
  • 不再丢失资产!机房U位管理系统核心功能解析,让管理更轻松
  • 2026口碑推荐:水下清淤机器人实力厂家精选排行,目前水下清淤机器人直销厂家优质品牌选购指南 - 品牌推荐师
  • 西方情人节:从暴力祭祀到为爱殉道