[算法]区间重合推断

Posted mfmdaoyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[算法]区间重合推断相关的知识,希望对你有一定的参考价值。

题目描写叙述:

给定一个源区间 [x,y]和N个无序的目标区间[x1,y1],[x2,y2],...[xn,y,],推断给定的源区间[x,y]在不在目标区间内。

比如:给定源区间[1 6]和目标区间[1 2][2 4][4 9]就可以觉得区间[1 6]在目标区间内,由于源区间的并集为[1 9 ].

试想一下,如今在这种一个目标区间的集合。 须要频繁地去查询一个区间是否在该集合中。那么怎么样才干减少单次查询的复

杂度呢。预处理。对区间的预处理能够满足这种需求。

直接上方法:

第一步: 首先对区间进行合并(也就是将区间merge成为不相交的区间的集合)

第二步: 再在这个处理之后的区间中去查找这样源区间,关于查找,当然二分能够有非常好的效果,那么将区间排序就可以。


于是: 1  将区间按其起始点排序。

      2  Merge相交的区间

      3  二分查找源区间就可以。


代码例如以下:





以上是关于[算法]区间重合推断的主要内容,如果未能解决你的问题,请参考以下文章

区间扫描线算法

贪心算法—“看电影”

贪心算法 - 挤奶问题

基础算法 --- 前缀和与差分

hdu5289 Assignment (区间查询最大值最小值,st算法...)

贪心算法求解畜栏问题