This shows you the differences between two versions of the page.
pa:laboratoare:laborator-03 [2022/03/01 23:42] darius.neatu [Laborator 3: Programare Dinamică] |
pa:laboratoare:laborator-03 [2023/03/15 16:54] (current) radu.nichita |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Laborator 3: Programare Dinamică ====== | + | ====== Laborator 03: Programare Dinamică (1/2) ====== |
===== Obiective laborator ===== | ===== Obiective laborator ===== | ||
Line 311: | Line 311: | ||
* **dacă $v[j] < v[i] $**, atunci subșirul crescător care se termină pe poziția j, poate fi extins la dreapta cu elementul v[i], generând lungimea ** dp[j] + 1 ** | * **dacă $v[j] < v[i] $**, atunci subșirul crescător care se termină pe poziția j, poate fi extins la dreapta cu elementul v[i], generând lungimea ** dp[j] + 1 ** | ||
* deci dp[i] = max(dp[j] + 1), $j = 1 : i - 1$ (dacă nu există un astfel de j, valoarea lui max(...) este 0) | * deci dp[i] = max(dp[j] + 1), $j = 1 : i - 1$ (dacă nu există un astfel de j, valoarea lui max(...) este 0) | ||
- | * Ce se întamplă totuși dacă nu există un j care să îndeplinească condiția de mai sus? Atunci $v[i]$ va forma singur un subșir crescător de lungime 1 (care poate fi la un pas ulterior) | + | * Ce se întamplă totuși dacă nu există un j care să îndeplinească condiția de mai sus? Atunci $v[i]$ va forma singur un subșir crescător de lungime 1 (care poate fi folosit la un pas ulterior) |
Reunind cele spuse mai sus: | Reunind cele spuse mai sus: |