Есть ли эффективный способ подсчета количества пересечений среди данного набора отрезков?

Предположим, у меня есть n отрезков в общем положении. Как я могу быстро подсчитать, для каждого из моих n сегментов, сколько других n-1 он пересекает?

Я могу сделать это наивно в O (n2Время Я могу найти все пересечения, используя довольно простой алгоритм линии развертки (Bentley-Ottmann) за время O ((n + k) log n), где k - количество таких пересечений, и затем объединить найденные пересечения в кучу на счет.

Я нене нужнонаходить пересечения, хотя; Я просто хочу знать, сколько их. Я неЯ не понимаю, как изменить алгоритм стреловидности, чтобы он был быстрее, поскольку для каждого пересечения необходимо переупорядочить две вещи в дереве, и я могу 'не думаю о каких-либо других методах, которые неЯ страдаю от той же проблемы.

Мне также интересно услышать, как посчитать, сколько всего пересечений.

Ответы на вопрос(1)

Ваш ответ на вопрос