Pagini recente » Atasamentele paginii Profil Mortem | Parantezare optimă de matrici | Diferente pentru problema/scmax intre reviziile 7 si 43 | Parantezare optimă de matrici | Diferente pentru problema/scmax intre reviziile 39 si 43
Nu exista diferente intre titluri.
Diferente intre continut:
O prima rezolvare utilizeaza programarea dinamica. Se noteaza $best{~i~}$ - lungimea maxima a unui subsir crescator care se termina pe pozitia $i$ . Obtinem astfel urmatoarea relatie de recurenta: $best{~i~}$ = 1 + {$max(best{~j~})$} cu $1$ ≤ $j$ < $i$ si $a{~j~}$ < $a{~i~}$ . Pentru a reconstrui solutia mai retinem un vector cu semnificatia $pre{~i~}$ - pozitia valorii care preceda elementul $i$ in subsirul crescator care se termina pe pozitia $i$. Aceasta solutie are complexitatea $O(N^2^)$ si obtine 70 de puncte. O astfel de solutie gasiti 'aici':job_detail/146353?action=view-source.
Complexitatea optima este {$O(N*log{~2~}N)$}. La fiecare pas $i$ trebuie determinata lungimea cea mai mare $best{~j~}$ unde {$1 ≤ j < i$} astfel incat {$a{~j~}$} ≤ {$a{~i~}$}. Pentru a afla aceasta informatie in timp optim {$O(log{~2~}N)$} se poate folosi un arbore de intervale sau un arbore indexat binar. O astfel de abordare obtine 100 de puncte si se gaseste 'aici':job_detail/146356?action=view-source. O alta idee de rezolvare ce obtine punctajul maxim, dar mai simplu de implementat si mai rapida, se gaseste 'aici':job_detail/146355?action=view-source. Ideea de rezolvare din spatele acestei solutii se gaseste in cartea lui Catalin Francu, "Psihologia concursurilor de informatica", editura L&S.
Printre problemele care folosesc ideile de mai sus se numara:
* 'Euro 2':problema/euro2
* 'Interclasare':problema/interclasare
* 'Cuburi3':problema/cuburi3
* 'Subsiruri':problema/subsiruri
* 'Subsir2':problema/subsir2
== include(page="template/taskfooter" task_id="scmax") ==
== SmfTopic(topic_id="2985.0") ==
Nu exista diferente intre securitate.
Diferente intre topic forum: