Какой алгоритм использовать для поиска максимального пересечения множества отрезков?

Есть задача:

В музее регистрируется в течение дня время прихода и ухода каждого посетителя. Таким образом за день получены N пар значений, где первое значение в паре показывает время прихода посетителя и второе значения - время его ухода. Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей.

Существует ли общеизвестный алгоритм для решения подобных задач?
Дерево отрезков для суммы подходит для решения этой задачи?
  • Вопрос задан
  • 5530 просмотров
Пригласить эксперта
Ответы на вопрос 3
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
@isxaker Вы сами же предложили неплохой на мой взгляд вариант
stackoverflow.com/questions/2244964/finding-number...

В чем вопрос? :)
Ответ написан
@meat
раз не требуется точность, создаёте массив на 24*60 интеджеров, и каждым отрезком заполняете его прибавляя по единице к каждому элементу. потом проходитесь по полученному массиву, и находите максимум. O(n)
Ответ написан
@386DX
Если не нужна идеальная точность, то можно день принять за 5* 228 минут(24 часа- ось x) и каждые пять минут проверять, сколько отрезков-посетителей в эти 5 минут входят. Потом из результатов искать максимум.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы