如何求出各种二维偏序
如何求出各种二维偏序?
本章收录怎样的题?
收录类似于上图,区间修改、查询二维空间一定正斜交范围内点信息的问题。
目录
链接 | 离线否 | 描述 | 图示 |
---|---|---|---|
二维树状数组 | 在 | 几乎所有问题 | |
树状数组 | 离 | - | |
扫描线 | 离 | 每次删除方框内的数,最后查询有多少被删除 | |
线段树+双端队列 | 在 | 每次删除上下双方框内的数,并查询哪些数删除 | |
二向树状数组 | 在 | 每次修改所有值,在线维护哪些点符合连续要求。 |
1. 二维树状数组
点数量n | 坐标值域A | 查数量Q | 修数量R | 时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|
略。
2. 离线树状数组
点数量n | 坐标值域A | 查数量Q | 修数量R | 时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|
略。
3. 扫描线
点数量n | 坐标值域A | 查数量Q | 修数量R | 时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|
开线段树存储一列里面的点。
4. 线段树+双端队列
点数量n | 坐标值域A | 查数量Q | 修数量R | 时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|
例题: 有害边树
开线段树维护每个 deque
里面不符合条件的弹出。由于每次询问要查询所对应的区间,所有点一共只会被弹出
双端队列可以被换成 set
5. 二向树状数组
(或线段树)
点数量n | 坐标值域A | 查数量Q | 修数量R | 时间复杂度 | 空间复杂度 |
---|---|---|---|---|---|
例题:传感器
由于维护的是【查询点的值是否在一段连续范围内】,我们只需要知道多久进入这段范围,多久出这段范围就行了。一个点可以由双向树状数组的
每个查询点对应
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现