Как получить решение для нескольких подпоследовательностей без перекрытия списка? [закрыто]Python

Программы на Python
Ответить
Anonymous
 Как получить решение для нескольких подпоследовательностей без перекрытия списка? [закрыто]

Сообщение Anonymous »

Я пытаюсь использовать метод dp, чтобы найти лучшее решение, код ниже не работает.
def max_reward_schedule(rewards, Task_durations):
n = len(rewards)
m = len (task_durations)
# Инициализировать таблицу DP
dp = [[0] * (n + 1) for _ in range(m + 1)]
# Заполните таблицу DP от m до n, чтобы найти лучшую награду
для i в диапазоне (1, m + 1):
для j в диапазоне (1, n + 1) :
if j >= Task_durations:
if j - Task_durations == 0:
dp[j] = max(dp[j], dp[j - Task_durations] + sum(rewards[j - Task_durations:j]))
else:
dp[j] = max(dp[j], max(max(dp[:j - Task_durations[i - 1]]), max(dp[i - 1][j + Task_durations[i]]:)) + sum(rewards[j - Task_durations[i - 1]:j]))
else:
dp[i ][j] = dp[i - 1][j]
print(dp)
return max_reward
rewards_24_hours = [8, 6, 5, 6, 1, 1, 4, 4, 5, 2, 6, 8] #np.random.randint(1, 10, size=12)
task_durations = [3,2,4]
max_reward = max_reward_schedule(rewards_24_hours, task_durations)


Подробнее здесь: https://stackoverflow.com/questions/793 ... for-a-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»