Учитывая множество n точек на плоскости, я хочу предварительно обработать эти точки как-то быстрее, чем O (n ^ 2) (O (nlog (n))), а затем иметь возможность отвечать на запросы следующего вида "Сколько n точек находится внутри круга с заданным центром и радиусом?" быстрее, чем O (n) (предпочтительно O (log (n)).
Можете ли вы предложить некоторую структуру данных или алгоритм, который я могу использовать для этой проблемы?
Я знаю, что такие типы проблем часто решаются с использованием диаграмм Вороного, но я не знаю, как их применять здесь.