У меня возникли трудности с пониманием динамического программирования, поэтому я решил решить некоторые проблемы. Я знаю основные динамические алгоритмы, такие как самая длинная общая подпоследовательность, проблема с рюкзаком, но я их знаю, потому что я их читаю, но я не могу придумать что-то самостоятельно :-(Проблемы с динамическим программированием
Например, мы имеем подпоследовательность натуральных чисел. каждое число мы можем взять с собой плюс или минус в конце мы возьмем абсолютное значение этой суммы для каждой подпоследовательности найти наименьший возможный результат
in1:... 10 3 5 4; out1: 2
in2 : 4 11 5 5 5; out2: 0
in3: 10 50 60 65 90 100; out3: 5
описание для 3-го: 5 = | 10 + 50 + 60 + 65-90-100 |
что мне хуже, мой друг сказал мне, что это простая проблема с рюкзаком, но я не вижу никакого рюкзака здесь. Является ли динамическое программирование чем-то трудным или только у меня большие проблемы с ним?
Не могли бы вы пояснить, что такое подход сверху вниз? цифры меньше 10000, а число менее 5000 номеров – xan
Я думаю, что решение, размещенное Óscar López, более элегантно, чем мое. – ypnos