«Это приближается к концу семестра, и у вас есть n окончательных проектов. Ваша цель, конечно же, состоит в том, чтобы максимизировать ваш общий уровень по этим проектам! Для простоты скажите, что у вас есть всего H часов (положительное целое число) для совместной работы над проектами, и вы потратите целое количество часов на каждый проект.Не удалось настроить динамическое программирование
Чтобы выяснить, как лучше всего разделить ваше время, вы пришли с набором неубывающей оценки функции {e1, e2, ..., en}, по одному для каждого проекта: если вы тратите h часов на проект i (где 0 < = h < = H), вы получите класс ei (h) по этому проекту.
Дайте динамический алгоритм программирования, который принимает оценочные функции {e1,. , , , en} как входной и , который генерирует неотрицательные числа часов {h1,. , , , hn} такие, что (h1 + h2 + ··· + hn) = H и ваш общий класс (e1 (h1) + e2 (h2) + ··· + en (hn)) максимален. Для полных оценок оправдайте свое повторение и кратко проанализируйте время работы вашего алгоритма. »
Ваша идея не будет работать, потому что вы не можете выбрать максимум для каждого предмета из-за нехватки времени. Вы должны сделать компромиссы. –
Я полагаю, что это следует понимать как «e1 (0) = ... = en (0) = 0'? – Codor