朴素算法Bare Algo

线段树与树状数组

动态区间查询/更新:区间和、最值、逆序对、离线查询等。

算法题

(5)
307. 区域和检索 - 数组可修改
中等
给你一个数组 nums,请你完成两类查询:更新数组 nums 下标 index 的值,返回数组 nums 中 [left, right] 区间的和。
数组设计树状数组线段树
315. 计算右侧小于当前元素的个数
困难
给你一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 中,counts[i] 表示 nums[i] 右侧小于 nums[i] 的元素数量。
数组二分查找分治树状数组线段树归并排序
327. 区间和的个数
困难
给你一个整数数组 nums 以及两个整数 lower 和 upper。求数组中,值位于范围 [lower, upper](包含 lower 和 upper)之内的区间和的个数。
数组二分查找分治树状数组线段树归并排序
732. 我的日程安排表 III
困难
当 k 个日程有一些时间上的交叉时(例如 k 个日程都在同一个时间内),返回最大的 k 值(最大重叠日程数)。
设计线段树有序集合
715. Range 模块
困难
Range 模块是跟踪数字范围的模块。设计一个结构,支持在半开区间添加、删除和查询操作。
设计线段树有序集合

实际应用

(5)
实时数据看板
困难
在监控面板中支持对时间序列数据进行区间聚合查询(求和、最值),使用树状数组或线段树实现 O(log N) 的动态更新和查询。
线段树树状数组数据可视化实时监控
排行榜实时排名
中等
在游戏或竞赛系统中,支持用户分数更新后快速查询其当前排名(小于当前分数的人数),使用树状数组实现 O(log N) 操作。
树状数组离散化游戏系统排行榜
Canvas 碰撞检测加速
困难
在 2D 游戏或绘图应用中,使用线段树或区间树加速矩形碰撞检测,将 O(N²) 降低到 O(N log N)。
区间树线段树游戏开发图形渲染
代码覆盖率统计
中等
在测试工具中统计代码行的覆盖情况,支持区间标记(已覆盖/未覆盖)和快速查询总覆盖行数。
线段树区间更新开发工具测试覆盖
股票价格区间查询
困难
支持查询任意时间区间内的最高价、最低价、均价等聚合指标,使用线段树维护多种统计量。
多值线段树金融应用数据分析