Библиотека задач / Жадные алгоритмы

Подростки и взрослые

Как уместить больше встреч?

Условие

В один день предлагают шесть встреч: AA — 09:0009{:}00–10:3010{:}30, BB — 09:3009{:}30–10:0010{:}00, CC — 10:0010{:}00–11:0011{:}00, DD — 10:3010{:}30–12:0012{:}00, EE — 11:0011{:}00–12:0012{:}00, FF — 12:0012{:}00–13:0013{:}00. Нужно посетить каждую выбранную встречу целиком. Две встречи совместимы, если первая заканчивается не позже начала второй; времени на переход не требуется. Все встречи одинаково ценны. Как посетить наибольшее число встреч? Предложите правило выбора, применимое и к другим таким спискам.

О задаче · Подростки и взрослые
Тема
Жадные алгоритмы
Для кого
Подростки и взрослые
Уровень библиотеки
Следующий шаг · ориентир
Записать идею

Личный черновик для заметок и расчётов. Он никуда не отправляется и не проверяется.

Подсказка 1

Раннее окончание оставляет больше возможностей после встречи.

Подсказка 2

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

Разобрать решение по шагам
01

Составьте план

Раньше всех заканчивается BB, в 10:0010{:}00. После неё из оставшихся совместимых раньше всех заканчивается CC, затем выбираем EE и FF. Получаем четыре встречи: BB, CC, EE, FF. Совпадение конца одной и начала следующей разрешено условием.

02

Докажите правило обменом

Рассмотрим любой оптимальный план и его первую встречу XX. Встреча YY с самым ранним окончанием заканчивается не позже XX. Заменим XX на YY: все последующие встречи, начинавшиеся после XX, по-прежнему можно посетить. Значит, существует оптимальный план, начинающийся с YY. После её выбора та же задача остаётся для встреч, начинающихся не раньше её конца; рассуждение повторяется.

03

Проверьте максимум для этого списка

Независимо от общего доказательства можно быстро получить верхнюю границу. Из пары AA и BB одновременно взять обе нельзя. Из пары CC и DD тоже нельзя взять обе. В этих двух парах четыре разных встречи. Значит, из шести встреч нужно пропустить хотя бы две: больше четырёх невозможно. Наш план эту границу достигает.

План с последовательными окончаниями
01B → C09:30–10:00 → 10:00–11:00
02E → F11:00–12:00 → 12:00–13:00
034 встречини одного пересечения
Ответ

44 встречи: B,C,E,FB,C,E,F.

Главная идея

Жадный выбор требует доказательства: покажите, что им можно заменить начало оптимального плана без потери результата.

Как заметить эту идею в другой задаче

Нужно выбрать максимум непересекающихся интервалов, а все встречи одинаково ценны. Самое раннее окончание оставляет не меньше места для последующих; объясните это обменом.

Возможная ошибка

Выбирать просто самую раннюю по началу или самую короткую встречу. Эти правила не обеспечивают максимум для произвольного списка.

Источник и примечания

Источник и редакция

Авторская учебная задача на классическую идею. Формулировка и разбор — Popov Academy.

Проверь себя

В список добавили GG — 08:0008{:}00–09:0009{:}00. Как изменится максимум?

Ответ к дополнительной задаче

Получится пять встреч: GG, BB, CC, EE, FF. GG совместима с прежним планом, а больше пяти нельзя: среди исходных шести по-прежнему можно выбрать не больше четырёх.

Продолжить тему: Поиск и алгоритмы →
Учебная схема

Popov Academy · Библиотека задач

Как уместить больше встреч?

https://popov.academy/library/adult-meeting-schedule/

Условие

В один день предлагают шесть встреч: AA — 09:0009{:}00–10:3010{:}30, BB — 09:3009{:}30–10:0010{:}00, CC — 10:0010{:}00–11:0011{:}00, DD — 10:3010{:}30–12:0012{:}00, EE — 11:0011{:}00–12:0012{:}00, FF — 12:0012{:}00–13:0013{:}00. Нужно посетить каждую выбранную встречу целиком. Две встречи совместимы, если первая заканчивается не позже начала второй; времени на переход не требуется. Все встречи одинаково ценны. Как посетить наибольшее число встреч? Предложите правило выбора, применимое и к другим таким спискам.

Дополнительная задача

В список добавили GG — 08:0008{:}00–09:0009{:}00. Как изменится максимум?