動態(tài)規(guī)劃法-------最大連續(xù)子序列和
動態(tài)規(guī)劃法解決最大連續(xù)子序列和
問題描述 :
數(shù)組 int a[] = {-4 , 3 ,56 , -15 , 34 , 0 , -14 , 4} ; 某幾個連續(xù)的子序列其和最大,比如a0+a1 = -1 。a1+a2+a3+a4 = 78 。則a1 a2 a3a4組成的數(shù)組即是所求。
解決方法:
此題嘗試使用動態(tài)規(guī)劃的方法進(jìn)行解決,首先建立狀態(tài)方程。
設(shè)b[j]表示第j處,以a[j] 結(jié)尾的子序列的最大和。
則b[j] = max(a[j] + b[j-1] , a[j]) ,而我們的所求的答案,就是從1- n對b數(shù)組求最大值。
代碼如下:













































posted on 2011-04-21 13:54 kahn 閱讀(9622) 評論(3) 編輯 收藏 引用 所屬分類: 算法相關(guān)