1270 陣列的最大代價(貪心,dp

2021-09-29 06:56:13 字數 560 閱讀 4553

陣列a包含n個元素a1, a2…an。陣列b包含n個元素b1, b2…bn。並且陣列a中的每乙個元素ai,都滿足1 <= ai <= bi。陣列a的代價定義如下:

輸入第1行:1個數n,表示陣列的長度(1 <= n <= 50000)。

第2 - n+1行:每行1個數,對應陣列元素bi(1 <= bi <= 10000)。

輸出輸出最大代價s。

輸入樣例510

110110

輸出樣例

36(公式表示所有兩個相鄰元素的差的絕對值之和)

給出陣列b,計算可能的最大代價s。

貪心,每次數取1或者a[i]

dp[i][0]為第i位數取a[i]所得最大值

dp[i][1]為第i位數取1所得最大值

#includeusing namespace std;

int a[50010],dp[50010][2];

int main()

cout<

(dp[n][0],dp[n][1])

; return 0;

}

51nod 1270 陣列的最大代價 DP

陣列a包含n個元素a1,a2.an。陣列b包含n個元素b1,b2.bn。並且陣列a中的每乙個元素ai,都滿足1 ai bi。陣列a的代價定義如下 公式表示所有兩個相鄰元素的差的絕對值之和 給出陣列b,計算可能的最大代價s。input 第1行 1個數n,表示陣列的長度 1 n 50000 第2 n 1...

51nod1270 陣列的最大代價(簡單dp

恢復內容開始 1270 陣列的最大代價 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 收藏關注陣列a包含n個元素a1,a2.an。陣列b包含n個元素b1,b2.bn。並且陣列a中的每乙個元素ai,都滿足1 ai bi。陣列a的代價定義如下 公式表示所有兩個相鄰元...

51nod 1270 陣列的最大代價

要麼取峰值要麼取谷值,dp n 0 dp n 1 分別表示第i位取1或最大值時,最大的代價 include include include includeusing namespace std const int maxn 50010 int a maxn dp maxn 2 int main dp...