Изменения

Перейти к: навигация, поиск

PSumCi

755 байт добавлено, 19:16, 4 июня 2016
Нет описания правки
}}
== Описание алгоритма ===== Идея ===
Пусть <tex>p_{i}</tex> заданы в порядке невозрастания (<tex>p_{1} \geqslant p_{2} \geqslant \ldots \geqslant p_{n} </tex>). Пусть теперь <tex>b_{k} = \dfrac{k}{m}</tex>. Тогда в оптимальном расписании работа с номером <tex>i</tex> будет выполнена на станке <tex>i \bmod m</tex>, <tex>b_{i}</tex>-ой с конца.
 
=== Псевдокод ===
 
list<int> schedule[m] <font color=green> //Заведём список работ для каждого станка. Ответ будет храниться в нём.</font>
'''for''' i = 0 '''to''' n
schedule[i mod m].push(i) <font color=green>//ставим работу с номером i на станок i mod m в конец.</font><br>
<font color=green>//Заметим что расписание для каждого станка получилось перевёрнутым<br> //Поэтому развернём расписание для каждого станка.</font>
'''for''' i = 0 '''to''' m
schedule[i].reverse()
Анонимный участник

Навигация