乙個數的序列bi,當b1 < b2 < ... < bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列(a1, a2, ...,an),我們可以得到一些上公升的子串行(ai1, ai2, ..., aik),這裡1 <= i1 < i2 < ... < ik <= n。比如,對於序列(1, 7, 3, 5, 9, 4, 8),有它的一些上公升子串行,如(1, 7), (3, 4, 8)等等。這些子串行中序列和最大為18,為子串行(1, 3, 5, 9)的和.
你的任務,就是對於給定的序列,求出最大上公升子串行和。注意,最長的上公升子串行的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上公升子串行和為100,而最長上公升子串行為(1, 2, 3)。
這同樣是乙個經典的dp問題,我們可以用乙個陣列sum[i]來記錄從1到i的最大上公升子串行和。那麼sum[i]=max(sum[j])+a[i]
}sum[i] = a[i] +max;
//printf("sum[%d]=%d+%i64d\n",i,a[i],max);}}
intmain()
return0;
}view code
最大上公升子串行和
3532 最大上公升子串行和 檢視 提交 統計 提問 總時間限制 1000ms 記憶體限制 65536kb 描述 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 i...
最大上公升子串行和
描述 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等。這...
最大上公升子串行和
題目描述 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等...