覆盖问题

mmmcd 2003-08-22 11:02:19
已知n个区间:(a1,b1),(a2,b2),...,(an,bn)

已知区间中有哪几个与给定区间(x,y)由公共部分?

有没有O(logn)的算法?
...全文
42 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2003-08-22
  • 打赏
  • 举报
回复
n个区间是有序的吧。否则只能O(N)

为n个区间建立两个排序索引序列,一个是按照xi,一个是按照yi

对于给定的区间,分别用折半的办法定位x和y的位置
然后比较两个当中的公共部分

也就是说,定位xi索引序列当中,大于给定的y的部分,以及定位yi索引序列当中,小于给定的x的部分,再检索两个部分的公共子集。

两遍 O(logn)的定位计算 + 未知的交集计算 + 建立区间索引的开销



33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧