|
Titlul: suma maxima Scris de: Sorin Rita din Februarie 29, 2012, 01:15:23 Salut. Cum as putea sa rezolv urmatoare problema : Se dau n numere asezate sub forma de cerc. Sa se determine un subsir de suma maxima stiind ca nu se pot alege 2 numere consecutive (primul si ultimul se considera consecutive).
Eu am incercat urmatoarea dinamica dp[ i ]=suma maxima care se obtine pana la elementul i. Recurenta este Cod: daca i==n dp[i]=a[n]; Titlul: Răspuns: suma maxima Scris de: George Marcus din Februarie 29, 2012, 12:29:14 Daca ai a[1..n] poti incerca sa faci dinamica pentru a[1..n-1] si apoi pentru a[2..n] si iei maximul. Si in relatia de recurenta cred ca trebuie sa fie
Cod: dp[i]=max(dp[i+1], a[i]+dp[i+2], a[i]) Titlul: Răspuns: suma maxima Scris de: Ababab din Februarie 29, 2012, 12:33:57 Pot fi și numere negative, nu?
Titlul: Răspuns: suma maxima Scris de: Sorin Rita din Februarie 29, 2012, 12:53:00 Multumesc George a mers asa. \:D/ Nu, in problema mea nu apareau si numere negative, de aceea nu luam in calcul cazul in care ajung la suma negativa.
|