高维空间的最小圆覆盖.
题意就是要求 $m$ 维空间内 $n$ 个点的最小圆覆盖.
把二维的随机增量算法直接拓展到高维,不难发现复杂度的分析是类似的.
当我们已经加入 $k$ 个点时,需要在这 $k$ 个点所在的 $k-1$ 维平面上找一个圆心,使得它到这 $k$ 个点距离相等.
从这 $k$ 个点中选一个点作为原点,它到另外 $k-1$ 个点的 $k-1$ 个向量显然就是这个平面的一组基底.
只需要求出这些向量各自的系数即可确定圆心.
根据圆心到原点和到其他任意一个点的距离相同,可以列出 $k-1$ 个方程,高斯消元求出系数,进而确定圆心位置.
时间复杂度 $O(nm^3)$ .
1 | //%std |