Diferente pentru problema/deque intre reviziile #10 si #11

Nu exista diferente intre titluri.

Diferente intre continut:

O alta idee de rezolvare se bazeaza pe faptul ca pentru a trece de la secventa care incepe pe pozitia $i$ la cea care incepe pe pozitia $i+1$ dispare elementul de pe pozitia $i$ si apare unul nou pe pozitia $i+K$. Pornind de la aceasta observatie, putem folosi un 'heap':problema/heapuri pentru a efectua stergerile si inserarile in complexitate $O(logN)$ si pentru a afla minimul pentru un interval in $O(1)$. In acest caz, complexitatea totala este $O(NlogN)$ si o astfel de abordare ar trebui sa obtina $60$ de puncte. Este posibil ca folosind diverse optimizari, aceasta rezolvare sa obtina $100$ puncte (motivul principal fiind cantitatea datelor de intrare).
Solutia optima, in complexitate $O(N)$, foloseste o coada cu doua capete ({$Double ended queue, deque$}). Valorile noi pot fi inserate doar la sfarsitul cozii, in timp ce elementele existente pot fi eliminate atat de la inceputul, cat si de la sfarsitul deque-ului; toate aceste operatii avand loc in timp constant. Se observa ca daca exista doua elemente $A[i] &ge; A[j]$ cu $i < j$, atunci $A[j]$ va fi mereu preferat pentru minim fata de $A[i]$ pentru secventele ce incep dupa pozitia $j$ (inclusiv). Din acest motiv, la fiecare pas $i$, elementul curent $A[i]$ elimina de la finalul $deque$-ului toate elementele &ge; cu el, iar apoi este si el, la ranadul lui, inserat in structura. In acest fel, elementele din $deque$ sunt mentinute in ordine crescatoare, deci minimul se va afla la inceput. Se elimina minimul, cat timp acest nu mai apartine secventei curente (pozitia este $&le; i-K$). In final, se aduna minimul la solutie.
Solutia optima, in complexitate $O(N)$, foloseste o coada cu doua capete ({$Double ended queue, deque$}). Valorile noi pot fi inserate doar la sfarsitul cozii, in timp ce elementele existente pot fi eliminate atat de la inceputul, cat si de la sfarsitul deque-ului; toate aceste operatii avand loc in timp constant. Se observa ca daca exista doua elemente $A[i] &ge; A[j]$ cu $i < j$, atunci $A[j]$ va fi mereu preferat pentru minim fata de $A[i]$ pentru secventele ce incep dupa pozitia $j$ (inclusiv). Din acest motiv, la fiecare pas $i$, elementul curent $A[i]$ elimina de la finalul $deque$-ului toate elementele $&ge;$ cu el, iar apoi este si el, la ranadul lui, inserat in structura. In acest fel, elementele din $deque$ sunt mentinute in ordine crescatoare, deci minimul se va afla la inceput. Se elimina minimul, cat timp acest nu mai apartine secventei curente (pozitia este $&le; i-K$). In final, se aduna minimul la solutie.
h2. Aplicatii

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.