Pagini recente » Diferente pentru utilizator/rares96cheseli intre reviziile 50 si 13 | Monitorul de evaluare | Diferente pentru utilizator/svalentin intre reviziile 17 si 18 | Diferente pentru blog/preoni-2008-in-cautare-de-sigla intre reviziile 15 si 16 | Diferente pentru sandbox intre reviziile 85 si 84
Diferente pentru
sandbox intre reviziile
#85 si
#84
Nu exista diferente intre titluri.
Diferente intre continut:
$[i..j] x [k..k]$ (deci suma elementelor din banda $[i..j]$ ce sunt pe coloana {$k$}).
linia de jos nu coincide cu linia {$j$}, acum luam rezultatul optim pentru dreptunghiul {$[i..j-1]x[1..m]$}. Al treilea caz cand dreptunghiul optim se sprijina pe liniile $i$ si $j$ il putem rezolva in $O(n)$ asemanator problemei de determinare a unei subsecvente de suma maxima pe un vector {$C$}. $C[k]$ va fi egal cu suma elementelor din dreptunghiul $[i..j] x [k..k]$ (deci suma elementelor din banda $[i..j]$ ce sunt pe coloana {$k$}).
Pentru a determina subsecventa de suma maxima a sirului {$C$}, vom folosi vectorul {$sum[k] = C[k] + C[k-1] + ... + C[1{@]@}$}. Astfel suma elementelor $C[k..l]$ este egala cu {$sum[l] - sum[k - 1]$}. Pentru a determina subsecventa de suma maxima ce se termina in $l$ trebuie sa gasim cea mai mica $sum[k - 1]$ pentru a maximiza expresia {$sum[l] - sum[k - 1]$}. Astfel obtinem urmatorul cod:
== code(c) |
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.