E 鋪設道路

2021-10-19 10:04:35 字數 858 閱讀 6027

題目

春春是一名道路工程師,負責鋪設一條長度為 n 的道路。

鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區域,

一開始,第 i 塊區域下陷的深度為 \(d_i\) 。

春春每天可以選擇一段連續區間l,r ,填充這段區間中的每塊區域,

讓其下陷深度減少 1。在選擇區間時,

需要保證,區間內的每塊區域在填充前下陷深度均不為 0 。

春春希望你能幫他設計一種方案,可以在最短的時間內將整段道路的下陷深度都變為 0 。

input

輸入檔案包含兩行,第一行包含乙個整數 n,表示道路的長度。 

第二行包含 n個整數,相鄰兩數間用乙個空格隔開,第 i 個整數為 d_i。

n<=100000,d_i<=10000

output

最少需要多少天才能完成任務。
輸入樣例

input

64 3 2 5 3 5

output

9思路

找最少天數,對於輸入的每段凹陷深度,當d[i]>d[i-1]時,隨前面的填平,d[i]隨之改變,當d[i-1]變為0,只要再增加d[i]-d[i-1]天即可。

當d[i]#include

using

namespace std;

#define lenth 100002

intmain()

cout

}

鋪設道路 貪心

題目鏈結 題意 思路 這個貪心思路可以。可以看出來我們最開始肯定是整個n區域開始修,然後會遇到一段路被修好了,得分成倆個區間,但是,情況越分越複雜。所以,貪心大發神威。我們可以看出,這個修路和最開始從 修是沒有關係的,那麼我們從第1段路開始修,但是由於可以修乙個區間,所以我們先判斷他的右邊的那個數,...

2462 鋪設道路(思維)

春春是一名道路工程師,負責鋪設一條長度為 n 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區域,一開始,第 i 塊區域下陷的深度為 di 春春每天可以選擇一段連續區間 l,r 填充這段區間中的每塊區域,讓其下陷深度減少 1。在選擇區間時,需要保證,區間內的每塊區域...

貪心 牛客 道路鋪設

題目鏈結 題意 n個坑,每個坑有乙個深度,每次能選其中連續的一段,將這一段的深度減少1,問至少多少次可以把這些坑全部填成0 不能凸起來,也就是到0以後就不能再填了 思路 這道題是在牛客上做優先佇列時看到的,之前學長講過一道類似的題,可以用貪心寫,比優先佇列簡單,就沒有再用優先佇列。首先將題轉化成 把...