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

线段树技巧进阶

我怎么什么都不会了,快速过一下这几个。

单侧递归

常用于处理依赖于前缀不可差分信息的维护,比如含有前缀 \(\max\) 之类的信息,复杂度会多一个 \(\log\)

本质是在 pushup 的时候向某一侧子树递归求解,然后剪枝保证复杂度。

P4198 楼房重建

给定平面内若干线段,前缀最高的线段可以被看到,\(m\) 次修改,每次修改后查询有多少线段可以被看见。

模板题。

其实就是动态前缀 \(\max\) 计数,考虑线段树上每个节点维护当前区间最高点和区间 \(\max\) 个数。

pushup 时,显然合并到大区间对左区间没有影响,考虑左区间对右区间的影响,具体来说,我们向右侧递归查询有多少 \(\max\) 会被左侧更新掉。

记左区间最大值为 \(k\),如果当前区间第一个 \(\max\) 都大于 \(k\),则对当前区间没有影响,返回当前区间答案,反之,若果当前区间最大值都小于 \(k\),那么当前区间没有答案。

然后考虑向左右递归的情况,显然我们只需要找到第一个大于等于 \(k\) 的位置,如果在右侧,那么直接递归即可,如果在左侧,那么我们要加上右侧的贡献,而右侧的贡献是什么呢,我们不能直接取右区间的答案,因为也需要考虑当前左区间的影响,也就是需要继续以左边最高点当作 \(k\) 向右递归。但是我们此时发现,这个情况我们已经算过了,就是当前大区间的答案,而当前左区间的贡献原本是直接加上来的,再减掉就好了,所以大区间答案减掉左区间答案就是右区间答案!

由此,我们就保证了每次只会向一侧子树递归,复杂度和线段树二分等价,每次 pushup 复杂度 \(O(\log n)\),总复杂度 \(O(n\log^2 n)\)

\(\text{Submission}\)

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

相关文章:

  • B2C单用户外贸商城源码解析:从零搭建到多语言支付集成
  • Qwen3-32B-Chat百度搜索意图匹配:针对‘Qwen3部署教程‘需求的精准内容覆盖
  • 2026年羊绒衫厂家推荐:高端品牌代工与OEM定制靠谱供应商及合作避坑指南 - 品牌推荐
  • CosyVoice-300M Lite中英混合合成实战:跨语言语音生成教程
  • EEPROMReader:嵌入式系统类型安全的编译期EEPROM管理库
  • Qwen3.5-9B编码能力实战:Python/SQL/Shell代码生成与调试效果分享
  • 3D动作时序连贯性分析:HY-Motion生成结果专业评估
  • 瑜伽馆小程序制作全流程,怎么自己做小程序 - 码云数智
  • 星露谷农场规划器终极指南:3步打造完美农场布局
  • Cadence vs Synopsys:数字后端工程师的EDA工具选择指南(附实战案例)
  • MGeo模型部署教程:阿里云ECS+GPU实例上稳定运行MGeo-base的完整步骤
  • 机械臂力控(4)---对阻抗和导纳更深层次的理解
  • 永续经营:亚马逊领导者的“守城”与“拓疆”法则
  • 5G时代如何DIY一个宽带圆极化天线?从参数优化到实测效果全记录
  • 从硅视网膜到仿生听觉:类脑传感器DVS/DAS的进化史与开源项目推荐
  • ESP32嵌入式地图库:OSM瓦片加载与双核异步渲染
  • 从零构建自主空中机器人:Ubuntu 20.04 + ROS Noetic 开发环境全攻略
  • 91行代码创意赛:在约束中绽放的编程创造力
  • 找工作的平台有哪些?2026靠谱招聘平台热搜排行榜 - 博客万
  • Nanbeige 4.1-3B惊艳效果:多轮对话中PLAYER蓝色气泡与BOT绿色气泡动态演进
  • Qwen-Image定制镜像开源实操:RTX4090D环境下Qwen-VL微调与推理一体化
  • ChatTTS情感语音合成实战:如何精准设置难过与高兴情绪参数
  • 手把手教你用Dify的‘知识库’功能,把热点数据喂给AI,打造专属的赛道咨询顾问
  • AutoCAD 2024 保姆级安装教程【2025最新】(附安装包)
  • 手把手教你用Comsol模拟超声空化气泡:从模型搭建到网格划分的完整流程
  • OpenClaw+GLM-4.7-Flash创意辅助:自动生成短视频脚本与分镜描述
  • 从零开始:cube-studio 云原生机器学习平台单机部署全攻略
  • 领导者的境界:亚马逊第一品牌不该说的“秘密”与更高的使命
  • 基于51单片机与DS1302的万年历系统Proteus仿真与原理图深度解析
  • 墨语灵犀镜像免配置部署教程:10分钟启动混元驱动的古风翻译系统