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

Автор Tigutor, история, 4 года назад, По-русски

Есть такая классическая задача: дано N вершин многоугольника и K точек. Проверить для каждой точки, лежит ли она внутри многоугольника. Многоугольник может быть любым. Алгоритмы, представленные здесь и здесьYour text to link here... содержат лишь пару слов о том, что при использовании деревьев в предпроцессинге ответ на запрос можно сделать logN. Сам алгоритм я понимаю как нахождение количеств пересечений луча, направленного строго вправо из нашей точки. Для нахождения такого количества мне нужно знать количество отрезков, начало которых выше луча, а конец ниже или наоборот. а также количество отрезков где ровно одна вершина лежит на луче.

Однако я совсем не понимаю, где здесь приткнуть деревья для предпосчета, чтобы потом быстро находить количество пересечений. Можете подсказать, как это здесь применимо?

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