Pagini recente » Parb2 | Concursuri Virtuale | Diferente pentru utilizator/ducu34 intre reviziile 17 si 16 | Sandbox | Diferente pentru pd intre reviziile 36 si 35
Diferente pentru
pd intre reviziile
#36 si
#35
Nu exista diferente intre titluri.
Diferente intre continut:
Acum devine clară o primă soluţie folosind programarea dinamică. Astfel, să presupunem că notăm cu @opt[ i ][ j ]@ costul minim al unui arbore construit pe cheile din $[i,j]$ (prin asta notăm (i, i + 1, ..., j). Fie $r[ i ][ j ]$ poziţia rădăcinii arborelui cu costul minim. În cazul existenţei mai multor rădăcini posibile, se alege cea mai din stânga. Cum am putea construi arborele de cost minim pe cheile $[i,j]$ ştiind răspunsul pentru instanţele mai mici (subsecvenţele de lungime mai mică ca $j-i+1$ pe $[i,j]$)? (!) Simplu, arborele de cost minim pe $[i,j]$ se obţine alegând drept rădăcină în mod optim o poziţie $k$, cu <tex>$i \le k \le j$</tex>, la care se pune ca fiul stâng arborele optim pentru $[i, k-1]$, şi ca fiu drept arborele optim pentru $[k+1, j]$. Relaţia de recurenţă devine:
<tex>opt[ i ][ j ] = \displaystyle\min_{i \le k \le j} \{a_{k} + \max( opt[i][k-1], opt[k+1][j] )\} </tex>
<tex>r[ i ][ j ] = \displaystyle\arg \min_{i \le k \le j}\{a_{k} + \max (opt[i][k-1], opt[k+1][j] )\} </tex>
@opt[ i ][ j ]@ = <tex>\displaystyle\min_{i \le k \le j} \{a_{k} + \max( opt[i][k-1], opt[k+1][j] )\} </tex>
@r[ i ][ j ]@ = <tex>\displaystyle\arg \min_{i \le k \le j}\{a_{k} + \max (opt[i][k-1], opt[k+1][j] )\} </tex>
Avem @opt[i][j] = 0@, pentru $j < i$.
Cazurile de bază sunt @opt[i][i]@ = a{~i~} si @r[i][i] = i@.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.