Welcome, Guest! Sign Up RSS

Clever Space

Friday, 11.22.2024
Main » 2013 » October » 25

表示是经典几何题,《最多覆盖点》

Prob.

题意:给你一个单位圆,还有平面上的n个点,求这个圆最多能覆盖的点数

Solution:

分析:这题很容易想到一个O(n^3)的算法,也就是枚举两个距离小于2的点,用它们来固定一个圆,当然对称圆也要算,再枚举所有点,看是不是在这个圆内,当然这题这样就可以水过,不过这并不是最优的。还有一种O(n^2 log n)的算法,这种方法其实也简单,不过我还是没有自己想出来,先枚举一个点,再枚举所有与它距离小于2的点,这样就可以求出相交弧,把所有弧保存下来,并离散化,就能算出覆盖次数最多的一段弧,这个次数也就是答案了。

Views: 426 | Added by: dhy0077 | Date: 10.25.2013