Проблемы с динамическим программированием

У меня возникли трудности с пониманием динамического программирования, поэтому я решил решить некоторые задачи. Я знаю основные динамические алгоритмы, такие как самая длинная общая подпоследовательность, задача о рюкзаке, но я знаю их, потому что читал их, но я не могу что-то придумать самостоятельно :-(

Например, у нас есть подпоследовательность натуральных чисел. Каждый число мы можем взять с плюсом или минусом В конце мы берем абсолютное значение этой суммы Для каждой подпоследовательности найти наименьший возможный результат

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|

что еще хуже, мой друг сказал мне, что это простая проблема с рюкзаком, но я не вижу никакого рюкзака здесь. Динамическое программирование что-то сложное или только у меня с ним большие проблемы?

7
задан Óscar López 25 March 2012 в 17:48
поделиться