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

树上连通块信息维护

黑白树

维护一棵树,他有 \(N\) 个节点,然后每个节点可能有两种颜色,黑色或白色。

你需要支持五种操作:

1.翻转 \(x\) 点的颜色。
2.把 \(x\) 点的同色连通块的点权加上 \(v\)
3.查询 \(x\) 同色连通块的点权最大值。
4.将一条 \(x\)\(y\) 的链的点的点权加上 \(v\)
5.将一个子树内的点的点权加上 \(v\)
对于全部数据 \(n\le2\times10^5\),保证答案不超过 int

假如没有操作 4,5,我们可以用 LCT 直接维护同色连通块信息。

对于这个问题有一种精妙的重链剖分加线段树的做法。(很反直觉,但是我目前还没找出问题,在这里先描述做法,还没有实现)

先考虑刻画一个同色连通块,首先我们定根,然后让连通块中深度最小的点作为其代表元,记其为 \(u\),颜色为 \(c\),那么在同一联通块的点 \(v\) 满足 \(v\)\(u\) 的子树中且 \(u\) 到根路径上颜色不为 \(c\) 的点数量与 \(v\) 到根路径上颜色不为 \(c\) 的数量相等。

然后考虑怎么快速找一个点所在极大同色联通块的代表元,简单二分/倍增就能做到 2log,通过一些优化、精细实现可以 1log,不太必要。

我们维护 dfn 序的线段树,对于线段树的一个节点,其对应区间 \([L,R]\),取这个区间的 lca 为 \(u\),我们维护 \(cnt_{0/1}\)\(u\) 到根路径上颜色为 \(0/1\) 的点个数,维护 \(mx_{0/1},tag_{0/1}\) 维护与 \(u\) 联通的最大值,以及对两种颜色连通块加的懒标记。

对于操作 2,我们先找到代表元 \(u\),然后对于 \(u\) 子树的 dfn 区间 \([l,r]\) 在线段树上对应的 log 个节点打上对应颜色的标记。

这里有可能节点的 dfn 区间属于 \([l,r]\) 但节点不在 \(u\) 的连通块里,我们在打标记和下放标记时,对于颜色 \(c\) 要判断两个点的 \(cnt_{1-c}\) 是否相等才下放。

然后是操作 1,发现修改点 \(u\) 相当于对子树的 \(cnt_c\)\(1\)\(cnt_{1-c}\)\(1\),这个可以直接用线段树区间修改打懒标记维护,然后修改时还影响了 \(u\) 的信息,要把 \(u\) 在线段树上所在的叶子的 \(mx_{0/1}\) 的信息交换,然后更新叶子到根的信息。

对于操作 3,我们同样找到代表元 \(u\),并找到子树的 dfn 区间在线段树上的节点,答案就是这些节点中 \(cnt_{1-c}\)\(u\) 相等的 \(mx_c\) 的最大值。

至于操作 4,5 与前边的操作在线段树上不冲突,直接拍成 dfn 上的区间修改打懒标记就行,是简单的。

于是我们就在 \(n\log ^2n\) 的复杂度解决了这个问题常数巨大

P11803 【MX-X9-T7】『GROI-R3』此花绽放之时

明天写。

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

相关文章:

  • 7个实用KQL查询:解锁GuardDuty-Sentinel-Integration的安全分析能力
  • 2026年发票查验官方操作流程,新手入门实用指南 - 跑政通
  • 告别加班改PPT,ChatGPT自动排版+配色+演讲备注生成,职场人必备的5个隐藏指令,仅限本周内公开
  • 【宝藏工具盘点】5款开源免费的2D角色动画生成器,独立开发者的福音
  • 你的内容为什么 AI 不推荐?三个动作让它主动选中你|GEO 实操(附 SOP)
  • GPT-5.6 实测案例:性能、能力与未来展望
  • 抖店运营系统怎么按经营模式选择-对比测试与选择 - 抖大侠
  • 2026年7月最新郑州宝玑官方售后服务热线与网点地址查询 - 亨得利钟表维修中心
  • 喷码字体虚边、毛边,墨滴分裂技术层面的成因?
  • 突破苹果硬件限制:OpenCore Legacy Patcher终极完整指南
  • 2026年07月新疆旅游定制包车游与精品小团市场深度观察:五家实力服务商全景解析 - 甄选服务推荐
  • SVG 基础:在 HTML 中使用矢量图形
  • AHK-v2-script-converter社区支持与资源:获取帮助的最佳途径
  • 【计算机大数据毕业设计案例】健身打卡分享与体能测评小程序系统的设计与实现 基于 SpringBoot 的用户健身行为分析管理系统(程序+文档+讲解+定制)
  • 【Embedded Development】【LVGL】基于Windows的LVGL模拟界面开发
  • 如何线上办理委托书公证?2026 年详细操作步骤指南 - 跑政通
  • 工业焊缝场景 焊缝缺陷数据集 6400张图片 支持YOLO格式 YOLO模型如何训练焊缝缺陷检测数据集
  • 常用环境部署(十四)——Docker部署MinIO(OSS)
  • 2026最新Java程序员转行AI大模型全攻略(小白零基础可学)
  • 3分钟掌握Free Texture Packer:如何将游戏性能提升200%的终极免费方案
  • 【独家首发】DeepSeek-R1长文本微调SOP(含Prompt Engineering黄金模板+评估指标白皮书)
  • 【小程序计算机毕业设计案例】地方特色农产品推介与电商交易小程序设计与实现 农产品分类展销、评价与订单管理系统的设计与实现(程序+文档+讲解+定制)
  • Windows 11终极优化指南:使用Win11Debloat一键清理系统垃圾,提升性能与隐私保护
  • 戴尔笔记本风扇控制终极指南:DellFanManagement让你的笔记本更安静更凉爽
  • Linux操作系统 --- 进程
  • 【小程序计算机毕业设计案例】智慧便民服务共享雨伞租赁平台的设计与实现 小程序实现的共享雨伞自助租借归还系统(程序+文档+讲解+定制)
  • 液氦管路哪家质量好探秘真空绝热与焊接工艺如何决定低温传输的长期可靠性 - 品牌推荐大师
  • 室内液体泼洒检测数据集 YOLOV11室内漏液检测数据集 室内跑冒滴漏检测数据集
  • 2026年土工材料供应厂家:土工布/土工格栅/土工膜/土工格室/玻纤及钢塑土工格栅等专业生产商深度解读 - 品牌发掘
  • 终极免费指南:如何解锁Wand专业版功能并实现手机远程游戏控制