@EgoRedMC

Как называется такая задача?

Более чем уверен, что такая задача существует, быть может даже в обобщенном виде. Подскажите пожалуйста, как она называется.
Задача звучит так:
Необходимо составить программу просмотра телепередач.
Каждая телепередача имеет следующие поля:
время начала, время окончания, номер, приоритет.
Нужно, чтобы в каждый момент времени смотрелась самая приоритетная телепередача.
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Codebaker
Всё умею, всё могу!
Вам стоит почитать про задачи, которые решает теория расписаний.
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Если считать, что любую передачу можно смотреть только целиком — это будет задача о заявках (=activity-selection problem).
Решается жадным алгоритмом в таком виде. Берутся самые приоритетные передачи и решается классическая задача о заявках: берём ту, которая кончается раньше всех, затем ту, которая кончается раньше всех и не противоречит имеющейся… В «окна» тем же алгоритмом вставляют менее приоритетные, и т.д.

Если считать, что можно бросать недосмотренные передачи — всё просто. При наступлении более приоритетной передачи переключаемся на неё.
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега Алгоритмы
♬♬
Не знаю, как называется такая задача.

Решается сортировкой времени событий и их перебором: в каждый такой момент надо принять решение "остаться / переключиться".

Есть приоритет текущей передачи (если она ещё не заканчивается). И есть приоритеты других передач в этот момент (особенно интересуют начинающиеся).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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