Мне нужна помощь с этой проблемой динамического программирования.
Учитывая положительное целое число
k
, найдите максимальное количество различных положительных целых чисел, которые суммируются сk
. Например, 6 = 1 + 2 + 3, поэтому ответом будет 3, а не 5 + 1 или 4 + 2, равным 2.
Первое, о чем я думаю, это то, что мне нужно найти подзадачу. Таким образом, чтобы найти максимальную сумму для k
, нам нужно найти максимальную сумму для значений, меньших k
. Поэтому нам нужно перебрать значения 1 -> k
и найти максимальную сумму для этих значений.
M(j)
как максимальное количество различных значений, которые суммируются с j
, но как мне на самом деле написать формулу для него?
Является ли моя логика для того, что я до сих пор, правильной, и могу ли Кто-нибудь объяснит, как пройти этот шаг за шагом?