Algorithm 连续相交于两组区间
我们有两组区间,A和B A中的每个区间由两个正实数Algorithm 连续相交于两组区间,algorithm,Algorithm,我们有两组区间,A和B A中的每个区间由两个正实数{A1start,A1end},{A2start,A2end},…,{Anstart,Anend}描述结束也是Anstart。一段时间内的间隔可能重叠 集合B仅由两个值表示:间隔长度和间隔距离。间隔长度是每个间隔的增量,即bend-Bnstart,并且大于0。间隔距离是任意两个Bnstart之间的距离。B中的间隔不得重叠 我们知道,在任何区间{A1start,Anend}上,A和B中的区间数应该相等 问题是:在{A1start,Anend}的区间
{A1start,A1end},{A2start,A2end},…,{Anstart,Anend}
描述<代码>结束也是Anstart。一段时间内的间隔可能重叠
集合B仅由两个值表示:间隔长度和间隔距离。间隔长度是每个间隔的增量,即bend-Bnstart
,并且大于0。间隔距离是任意两个Bnstart
之间的距离。B中的间隔不得重叠
我们知道,在任何区间{A1start,Anend}
上,A和B中的区间数应该相等
问题是:在{A1start,Anend}
的区间上,我们能连续地将B与A相交吗?i、 e.B1
必须与A1
相交,B2
必须与A2
相交等。如果任何B与指定A之外的任何其他A相交,则可以
我已经制定了两个算法规则,目前仍然坚持:
{A1start,Anend}
上的最小和最大间隔数,我们使用它来丢弃A和B中间隔数不相等的情况要使这两个集合连续相交,还必须满足哪些条件?您可以这样求解:
- 通过从所有
值中减去长度,将A中的所有间隔扩展为间隔长度B。您可以认为A现在定义了B中间隔可以开始的所有有效位置Anstart
- 现在的问题是,是否可以将一系列间隔给定距离的点(B)与一组间隔(a)相交。您可以通过将
与A1
偏移量与A2
相交、-distance
偏移量与A3
相交来解决此问题<代码>偏移-2distance
。如果所有这些间隔的交点均为非空,则A和B可能相交-(n-1)距离的