Блог пользователя atyetti9

Автор atyetti9, 9 лет назад, По-русски

Вот ссылка на задачу.

Подкиньте идею, пожалуйста.

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

»
9 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Вроде можно так:

1) Сделаем бинпоиск по радиусу окружности 2) Проверим, что данный радиус подходит. Построим окружности с центрами в вершинах и радиусом равным проверяемому. Если пересечение всех этих окружностей не пусто, то можно сделать такой радиус, иначе — нельзя

3) Точка ответа — это любая точка пересечения окружностей

P.S Я не смог сходу придумать адекватный способ пересекать много окружностей, но я думаю должен работать градиентный спуск или на худой конец какой-нибудь рандом

»
9 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Верное ли, что на искомой окружности лежат две точки, расстояние между которыми максимально? Если так, то находим их выпуклой оболочкой и методом двух указателей и делаем бинарный поиск по радиусу.