Восходящий подход (к динамическому программированию) состоит в том, чтобы сначала взглянуть на "меньшие" подзадачи, а затем решить более крупные подзадачи, используя решение меньших проблем.
Нисходящий процесс состоит в том, чтобы решить проблему "естественным образом" и проверить, рассчитали ли вы решение подзадачи ранее.
Я немного запутался. В чем разница между этими двумя?