Mam trudności ze zrozumieniem programowania dynamicznego, więc postanowiłem rozwiązać niektóre problemy. Znam podstawowe algorytmy dynamiczne, takie jak najdłuższy wspólny podciąg, problem plecakowy, ale znam je, ponieważ je czytam, ale nie mogę wymyślić czegoś na własną rękę :-(Problemy z programowaniem dynamicznym
Na przykład mamy podsekwencję liczb naturalnych. każdy numer możemy zabrać ze sobą plus lub minus na koniec bierzemy wartość bezwzględną tej sumy na każdy podciąg znaleźć najniższą możliwą wynik
IN1:... 10 3 5 4; OUT1: 2
IN2 : 4 11 5 5 5; out2: 0
in3: 10 50 60 65 90 100; out3: 5
wyjaśnienie dla 3: 5 = | 10 + 50 + 60 + 65-90-100 |
Co gorsza, mój przyjaciel powiedział mi, że jest to prosty problem z plecakiem, ale nie widzę tutaj żadnego plecaka. Czy programowanie dynamiczne jest trudne, czy tylko mam z tym duże problemy?
Czy możesz wyjaśnić, co to jest podejście odgórne? Numery są mniejsze niż 10000 i jest ich mniej niż 5000. – xan
Myślę, że rozwiązanie zamieszczone przez Óscar López jest bardziej eleganckie niż moje. – ypnos