Pagini recente » Istoria paginii runda/kmp_aib/clasament | Autentificare | Istoria paginii runda/forest_sprint_two_thousand_eleven/clasament | Istoria paginii runda/sim11_3 | Diferente pentru warm-up-2019/solutii/shoturi intre reviziile 49 si 50
Nu exista diferente intre titluri.
Diferente intre continut:
h1. 'Soluţia':warm-up-2019/solutii/shoturi problemei 'Shoturi':virustotal.com
h1. 'Soluţia':warm-up-2019/solutii/shoturi problemei 'Shoturi':problema/shoturi
h2. $Soluţie backtracking - 10 puncte$
Generăm toate variantele posibile ale vectorului <tex>x</tex> pentru care <tex>x[1] + x[2] + ... + x[N] = K</tex>. Această soluţie obţine 0 sau 10 puncte în funcţie de implementarea backtrackingului, care ar avea complexitatea <tex> O(K^N) </tex> amortizat.
h2. $Solutie N*K, memorie N*K - 80 puncte$
Trecerea de la $O(N*K^2^)$ la $O(N*K)$ se face cu ajutorul sumelor parţiale.
Observăm că, dacă atunci când parcurgem cu $j$-ul ţinem o variabilă $sum$ = <tex> \displaystyle \ \sum_{x=0}^{j-1} dp[i-1][x]</tex> pe care o updatăm adaugând <tex>dp[i-1][j]</tex>
Observăm că, dacă atunci când parcurgem cu $j$-ul ţinem o variabilă $suma$ = <tex> \displaystyle \ \sum_{x=0}^{j-1} dp[i-1][x]</tex> pe care o updatăm adaugând <tex>dp[i-1][j]</tex> si o variabila $suma_de_suma$ pe care o updatăm cu $s$, acestea vor arata aşa:
*$j=1 => suma = <tex>dp[i-1][0]</tex> = 1 şi suma_de_suma = <tex>dp[i-1][0]</tex> = 1$, care devin după update $suma = <tex>dp[i-1][0]+dp[i-1][j]</tex>$, respectiv $suma_de_suma=<tex>2*dp[i-1][0]+dp[i-1][1]</tex>$
*$j=2 => suma = <tex>dp[i-1][0] + dp[i-1][1]</tex> şi suma_de_suma = <tex>2*dp[i-1][0] + dp[i-1][1]<>/tex$, care devin după update $suma =<tex> dp[i-1][0] + dp[i-1][1]</tex>$, respectiv $suma_de_suma=2*dp[i-1][0]+dp[i-1][1]$
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.