Pagini recente » Diferente pentru planificare/sedinta-20080118 intre reviziile 22 si 12 | Istoria paginii utilizator/uti_zenotek | Istoria paginii utilizator/floringh06 | Istoria paginii utilizator/cyg_theo | Diferente pentru onis-2015/solutii-runda-1 intre reviziile 17 si 18
Nu exista diferente intre titluri.
Diferente intre continut:
Solutia cea mai la indemana la problema aceasta se bazeaza pe metoda programarii dinamice:
Calculam:
<b>dp[i][0]</b> = numarul de submultimi cu suma numerelor para cu cele N numere
dp[i][1] = numarul de submultimi cu suma numerelor impara cu cele N numere
* @dp[i][0] = numarul de submultimi cu suma numerelor para cu cele N numere@
* @dp[i][1] = numarul de submultimi cu suma numerelor impara cu cele N numere@
Cazul de baza:
* @dp[0][0] = 1 (submultimea vida)@
* dp[0][1] = 0
* @dp[0][1] = 0@
Relatia de recurenta:
Daca numarul v[i] este par:
dp[i][0] = 2 * dp[i-1][1]
dp[i][1] = 2 * dp[i-1][1]
Daca numarul v[i] este impar:
dp[i][0] = dp[i][0] + dp[i][1]
dp[i][1] = dp[i][0] + dp[i][1]
* @Daca numarul v[i] este par:@
** @dp[i][0] = 2 * dp[i-1][1]@
** @dp[i][1] = 2 * dp[i-1][1]@
* @Daca numarul v[i] este impar:@
**@dp[i][0] = dp[i][0] + dp[i][1]@
**@dp[i][1] = dp[i][0] + dp[i][1]@
Complexitate: <tex>O(N)</tex>
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.