Answers:
我不知道如何在时间内解决此问题,但是确实存在算法。O (n 2 log n )
令为中心为的圆,第个点,半径为。不难发现点集可以被半径为的圆包围,只要交集为不为空。此外,如果不为空,必须有一些点躺在一些(的边界)。因此,对于每个和其键合上的每个点,我们尝试找出包含多少个圆s i i r P = { p 0,p 1,… ,p m } r I (P )C (p 0),C (p 1),… ,C (p m)I (P )I (P )bd C (p i)C (s i)p p。所有的最大计数将解决此问题。
让我们检查。\ textbf {bd} C(s_i)上的点与[0,2 \ pi)中的实数之间存在一对一的映射。对于每个圆C(s_j),C(s_j)和\ textbf {bd} C(s_i)之间的交集可以用间隔[begin_j,end_j]表示。因此,对于除C(s_i)以外的所有圆,最多存在n-1个间隔(某些圆可能与C(s_i)不相交)。通过对间隔的所有2(n-1)个端点进行排序,按顺序扫描并计算当前的重叠数,可以轻松找到最大计数。对于每个BD Ç (š 我)[ 0 ,2 π )ç (小号Ĵ)Ç (小号Ĵ)BD Ç (š 我)[ b ë 克我Ñ Ĵ,ê Ñ d Ĵ ] Ç (小号i)n − 1 C (s i)2C (s i),此步骤可以在时间内完成,并且有这样的圆圈,因此该算法的时间复杂度为。
在B. Lee,DT的论文Computing 36,1-16(1986),第15页中的定理3指出最大封闭圆查找算法花费 时间成本。
我认为关键仍然是早期提到的相交图构造算法(或参见Edelsbrunner,H.(1987),《组合几何算法》第7章)。之后,最大包围圈的查找应该很简单。
显然,此问题等效于找到给定圆的最大数目所覆盖的点,并且很容易知道仅需要将给定n个圆相交的大部分个点视为候选。(这也直接导致了算法) ø (Ñ 2升ø 克(Ñ ))