Pagini recente » Profil cezi | Diferente pentru utilizator/levladz intre reviziile 14 si 1 | Atasamentele paginii Profil 4alicec7885ra4 | Diferente pentru utilizator/shantih1 intre reviziile 33 si 18 | Diferente pentru grigore-moisil-2009/solutii/cuburi3 intre reviziile 2 si 1
Nu exista diferente intre titluri.
Diferente intre continut:
h2(#cuburi3). 'Cuburi3':problema/cuburi3
Scrie aici despre grigore-moisil-2009/solutii/cuburi3
Vom prezenta trei soluţii, toate aplicând metoda $programării dinamice$, prima fiind una cu _memoizare_, a doua una clasică iar a treia folosind '_arbori indexaţi binar_':http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binaryIndexedTrees.
* sortăm crescător greutăţile cuburilor, eliminăm duplicatele obţinând un vector de lungime $lung$;
* căutăm în acest vector cu algoritmul căutării binare greutatea curentă $g{~i~}$, găsind-o pe o poziţie $p$;
* interogăm AIB-ul pe intervalul $[p, lung]$ pentru a determina $max { bst{~j~} : 1 ≤ j < i şi g{~j~} ≥ g{~i~}}$, ştiind că o interogare într-un AIB are complexitatea $O(log n)$;
* interogăm AIB-ul pe intervalul $[p, lung]$ pentru a determina $max { bst{~j~} : 1 ≥ j < i şi g{~j~} ≥ g{~i~}}$, ştiind că o interogare într-un AIB are complexitatea $O(log n)$;
* actualizăm în AIB intervalul $[1, p]$ cu $bst{~i~}$.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.