Я работаю над расписанием в школьных целях. Я получаю упорядоченный по времени список событий, и моя цель - нарисовать их на временной шкале. Проблема в том, что какое-то событие перекрывает другое (как показано на рисунке ниже). Я хочу сделать это, чтобы «упаковать» эти события в самое маленькое возможное место. This is single day with overlapping events.Расписание праздничных мероприятий
Первая фотография показывает, что мне удалось сделать до сих пор. Как видно на рисунке, прямоугольники не пересекаются друг с другом и прекрасно заполняют свободное пространство. НО мне не удалось найти разумный алгоритм для заказа. Second picture shows how events should be ordered.
Это два условия, которые делают эту проблему отличается от классической задачи упаковки:
- События дал координаты х (определенные начало и конец).
- События имеют фиксированную ширину, высота произвола.