Sunteți pe pagina 1din 1

Clasele XI - XII

Ziua 1
Ministerul Educat, iei Nat, ionale
Olimpiada de informatică – etapa nat, ională
Suceava, 30 aprilie2019 – 04 mai 2019
Sursa:lexicografic.pas, lexicografic.c, lexicografic.cpp

Lexicografic
Constantinescu Andrei Costin

N ·(N −1)
1. K= 2

În acest caz, operat, iile se pot folosi pentru a sorta perfect numerele. Sortarea poate fi executată prin orice
metodă, spre exemplu utilizând funct, ia sort din STL.

2. K=1
Există o singură operat, ie. Se observă că pentru a face această operat, ie utilă, ea trebuie aplicată pe două pozit, ii
i s, i i + 1 astfel ı̂ncât vi > vi+1 . Pentru a obt, ine s, irul minim lexicografic trebuie aleasă pozit, ia i minimă cu
această proprietate.

3. N = 2 000
Se va parcurge s, irul ı̂n ordine crescătoare a indicilor. Pentru fiecare pozit, ie i de la 1 la N se va alege cel mai
mic element dintre vi , vi+1 , . . . , vmin(n,i+K) s, i se va aduce pe pozit, ia i prin operat, ii succesive de interschimbare.
În caz de egalitate se va alege primul dintre aceste elemente. La sfârs, itul pasului curent se va scădea din K
numărul de operat, ii efectuate.
Se poate demonstra că acest algoritm duce la solut, ia optimă. Argumentul central este urmatorul: dacă un
element vi oarecare trebuie adus mai la stânga decât alt element vj ı̂n solut, ia finală, atunci vi merită mutat
pana la pozit, ia lui finală ı̂naintea lui vj .
Complexitatea acestei solut, ii este O(N 2 ).

4. N = 250 000
Solut, ia anterioară se poate optimiza la O(N log N ) folosind structuri de date eficiente pentru a ı̂mbunătăt, i
căutarea elementului care trebuie adus pe pozitia i. Spre exemplu, se poate ment, ine un arbore de intervale care
stochează minimul pe interval s, i numărul de elemente ı̂ncă nemutate din interval. Cu ajutorul parametrului din
urmă s, i al lui K, se caută minimul ı̂n intervalul [1, min(n, K + 1)] de numere nemutate. Se s, terge elementul
din structură, se adaugă la finalul unui vector ı̂n care se t, ine solut, ia, se scade K cu numărul de operat, ii necesare
s, i se trece la găsirea următorului element.

S-ar putea să vă placă și