Nu aveti permisiuni pentru a descarca fisierul grader_test4.ok

Diferente pentru onis-2016/solutii-runda-1 intre reviziile #29 si #26

Nu exista diferente intre titluri.

Diferente intre continut:

Se va calcula pentru fiecare sir *max[i] = suma maxima a unei subsecvente de lungime i* in O(N²).
Avand *max1* si *max2* (pentru cele doua siruri), in O(N x M) putem incerca toate lungimile *L1*, *L2* (1 <= L1 <= N, 1 <= L2 <= M) de secvente posibile pentru cele doua siruri iar cu formula de mai sus putem calcula suma maxima ce se poate obtine pentru lungimile respective. Vom salva si afisa valoarea maxima. Complexitatea finala este O(N² + M² + N x M)
h1(#Avioane2). 'B. Avioane2':problema/Avioane2
h1(#MaxSubSum). 'B. Avioane2':problema/Avioane2
Din zborurile care sunt date, se construieste un graf in care nodurile sunt perechi de forma <tex>(aeroport, timp)</tex>. Sunt suficiente numai perechile din zborurile initiale (cel mult <tex>2*M</tex> perechi, deci tot atatea noduri), plus inca o pereche <tex>(1, 0)</tex> (aeroportul 1, timpul 0) de la care se porneste.
h1(#Subpermutari). 'H. Subpermutari':problema/Subpermutari
Consideram toate cele N² subsecventele are permutarii noastre. Observam faptul ca daca pentru o secventa [a,b] determinam cea mai lunga subpermutare care este atat prefix, cat si sufix a secventei noastre, putem foarte usor marca sufixul ca fiind o secventa care a mai aparut deja si crestem frecventa prefixului.
Pentru a determina cea mai lunga subpermutare care este atat prefix, cat si sufix, vom aplica un algoritm foarte asemanator KMP-ului:
Fixam pozitia de start a subsecventei noastre si pornim algoritmul de KMP de acolo.
Presupunem ca avem calculat pentru o subsecventa [a,b] acest cel mai bun prefix-sufix (il notam identic ca la KMP cu pi[b]). Cand vrem sa trecem la urmatorul element, b + 1, avem aceleasi 2 cazuri de luat in considerare ca si la KMP:
 
Cazul in care elementul inserat b + 1 are aceelasi indice in subpermutarea sufixului ca si urmatorul element in subpermutarea prefixul: pur si simplu pi-ul creste cu 1
Daca indicele difera, micsoram pi-ul (mergem in pi[pi[b]]) si repetam procedeul pana avem o potrivire
 
Pentru a determina al catelea element se afla o valoare intr-o secventa putem usor precalcula cu un simplu aib.
Complexitate: O(N² log N)
?
h1(#NucleulValoros2). 'I. NucleulValoros2':problema/NucleulValoros2

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.