我的dp思路是
記b[j]表示到到j位,最大最長的子串行的和
則可得狀態轉移方程b[j]=max(b[j-1]+a[j],a[j]);
因為每個數都有兩種狀態,要麼和前面相連,要麼自己相連;
讓後再比較出來最大值;
一下是我的**
#include
#include
#include
#include
#include
#include
using namespace std;
const int sizen=110000;
int t;
int n;
int i;
int k;
int b[sizen];
int from,to;
int sum;
int be,st;
int cnt=0;
bool flag=false;
int main()
if(sum
hdu 1003 求最長子序列的和
1 型別 動態規劃 最長子序列 2 有關動態規劃 1,運用動態規劃的乙個前提。即解決問題的過程的最優策略應具有這樣的性質 無論初始狀態及初始決策如何,對於先前決策所形成的狀態而言,其以後的所有決策應構成最優策略。簡單來說,就是 最優策略的子策略也是最優策略 2,提出應用動態規劃的乙個重要條件。那就是...
hdu1003最大子串行和
看了一些別人的題解,說實話,我現在還不會證明這個,我不知道為什麼這樣是最大值 hdu1003最大連續子串行和 sum i sum i 1 0 sum i 1 a i a i 只有當sum處於增長狀態時才會得到最大子串行 當sum處於減小狀態時,應當更新起點 include using namespa...
HDU1003 最大子串行和
大學搞過兩年的acm,今天心血來潮的去杭電oj上瀏覽了一下,真幸運賬號居然沒有記錯。然後想著之前學過很多經典的演算法,但是很遺憾當時沒有記錄下來,所以現在彌補遺憾的時候到了,演算法會不定期更新。include int array 100005 n void maxsubsum1 void maxsu...