У меня возникли трудности с пониманием динамического программирования, поэтому я решил решить некоторые задачи. Я знаю основные динамические алгоритмы, такие как самая длинная общая подпоследовательность, задача о рюкзаке, но я знаю их, потому что читал их, но я не могу что-то придумать самостоятельно :-(
Например, у нас есть подпоследовательность натуральных чисел. Каждый число мы можем взять с плюсом или минусом В конце мы берем абсолютное значение этой суммы Для каждой подпоследовательности найти наименьший возможный результат
in1: 10 3 5 4; аут1: 2
изд2: 4 11 5 5 5; аут2: 0
ин3: 10 50 60 65 90 100; out3: 5
объяснение 3-го: 5 = |10+50+60+65-90-100|
что еще хуже, мой друг сказал мне, что это простая проблема с рюкзаком, но я не вижу никакого рюкзака здесь. Динамическое программирование что-то сложное или только у меня с ним большие проблемы?