Diferente pentru preoni-2008/runda-2/solutii/operatii intre reviziile #7 si #8

Nu exista diferente intre titluri.

Diferente intre continut:

* marcam pozitia $i$, pozitia $i+1$ nemarcata si $i-1$ marcata => $nr_interval$ nu se modifica
* marcam pozitia $i$ si pozitiile $i-1$ si $i+1$ sunt marcate => $nr_interval$ scade cu o unitate
Aceasta solutie este foarte simplu de implementat si obtine 100 de puncte.
Aceasta solutie este foarte simplu de implementat si obtine 100 de puncte.
 
O solutie alternativa si cu o implementare mult mai concisa a fost oferita de "Bitis Gabriel":http://infoarena.ro/utilizator/gabitzish1. Aceasta se bazeaza pe urmatoarea observatie: capetele stangi ale secventelor ce vor fi selectate pentru incrementare vor fi doar acele pozitii cu valoare strict mai mare decat pozitia precedenta. Evident, celelalte pozitii vor fi acoperite de secvente care pornesc mai in stanga. De exemplu, pentru vectorul de mai sus, se vor selecta doar secvente ce incep cu valorile {$1$}, {$4$}, {$4$}, {$3$}. Pentru a afla numarul minim de operatii, vom tine un contor pe care il vom creste de fiecare data cand {$v[i]>v[i-1]$} cu valoarea {$v[i]-v[i-1]$}, pentru fiecare {$i$} cuprins intre {$1$} si {$N$}. Conventional {$v[$}{$0]=0$}. Solutia poate fi optimizata (desi nu este necesar pentru 100 de puncte) pentru a nu retine tot vectorul, ci numai ultimii 2 termeni. Complexitatea obtinuta este {$O(N)$}.

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.