題目大概:
計算如下圖所示的d(a)。
t1 t2
d(a) = max
i=s1 j=s2
思路:這個題其實是求最大連續2欄位和問題。
就是從前面慢慢加。就是求兩段最大的不重合的字段加起來就行了。
最大子段和方法是:
a[n]是第n個數結尾的最大欄位和。b[n]是第n個數。
a[1]=max(b[1],0)。
a[n]=max(a[n-1]+b[n],0)。
這個題不過複雜一點。
感想:簡單題一複雜就wrong answer好多次。
**:
#include
#include
#include
#include
using
namespace std;
intmain
()h[n+1
]=-10001
;sum=0;
mm=-
200000
;for
(int j=n;j>
0;j--)
printf
("%d\n"
,mm);
}return0;
}
poj2479 Maximum sum(動態規劃)
題意 在乙個序列中尋找兩個連續子串行,並且他們的和最大。思路 定義兩個陣列。第乙個陣列從前往後記錄前i 1 i 個元素中最大連續子串行,第二個陣列從後往前記錄前i i n 個元素中最大子串行和。如下 include include include include define max 0x3f3f3...
動態規劃 什麼是動態規劃?
先來看看 資訊學奧賽一本通第5版 是怎麼說的 動態規劃程式設計是對解最優化問題的一種途徑 一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有乙個標準的數學表示式和明確清晰的解題方法。動態規劃程式設計往往是針對一種最優化問題,由於各種問題的性質不同,確定最優解的條件也互不相同,...
mysql動態規劃 動態規劃
動態規劃 能夠動態規劃的問題具有以下特點 可分解成規模更小的子問題 子問題的結果可復用 關鍵是要理解狀態轉移方程的含義就好啦!數字三角形 問題描述 在數字三角形尋找從頂到底的路徑,使得路徑經過的數字之和最大。規定每一步只能往左下或右下走,求出最大路徑和。遞迴解法 include include us...