春春是一名道路工程師,負責鋪設一條長度為 \(n\) 的道路。
鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 \(n\) 塊首尾相連的區域,一開始,第 \(i\) 塊區域下陷的深度為 \(d_i\) 。
春春每天可以選擇一段連續區間 \([l,r]\) ,填充這段區間中的每塊區域,讓其下陷深度減少 \(1\)。在選擇區間時,需要保證,區間內的每塊區域在填充前下陷深度均不為 \(0\) 。
春春希望你能幫他設計一種方案,可以在最短的時間內將整段道路的下陷深度都變為 \(0\) 。
輸入檔案包含兩行,第一行包含乙個整數 \(n\),表示道路的長度。 第二行包含 \(n\) 個整數,相鄰兩數間用乙個空格隔開,第 \(i\) 個整數為 \(d_i\).
輸出檔案僅包含乙個整數,即最少需要多少天才能完成任務。
輸入樣例1:
6
4 3 2 5 3 5
輸出樣例1:
9
【樣例解釋】
一種可行的最佳方案是,依次選擇: \([1,6],[1,6],[1,2],[1,1],[4,6],[4,4],[4,4],[6,6],[6,6]\)
【資料規模與約定】
對於 \(30\%\) 的資料,\(1 ≤ n ≤ 10\)
對於 \(70\%\) 的資料,\(1 ≤ n ≤ 1000\)
對於 \(100\%\) 的資料,\(1 ≤ n ≤ 100000 , 0 ≤ d_i ≤ 10000\)
水題不解釋了 \(,\) 考場上自己寫成了90分 (因為我菜到寫了個雙指標去卡 \(\theta(n^2)\) , 不知道在想啥....
#include #include #include int ans , n , t , last ;
int main()
printf ("%d\n" , ans ) ;
system ("pause") ; return 0 ;
}
NOIP2018 Day2 T1 旅行 題解
乍一看,一道基環樹。說實話考場上有點懵,day2t1直接上基環樹?再一看,好像只是一道無腦的搜尋加剪枝 對於noip資料範圍,o n 2 是可以可過去的 但是對於那個加強版資料,可能需要乙個筆者不會的超級玄學。好吧不扯了,咱們來看看資料範圍。m n 1的情況比較簡單只需一遍跑一邊搜尋,每次找字典序最...
NOIP2018 D1T1 鋪設道路
目錄春春是一名道路工程師,負責鋪設一條長度為 n 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區域,一開始,第 i 塊區域下陷的深度為 di。春春每天可以選擇一段連續區間 l,r 填充這段區間中的每塊區域,讓其下陷深度減少 1。在選擇區間時,需要保證,區間內的每塊...
NOIP2018 T1 鋪設道路
題目描述 春春是一名道路工程師,負責鋪設一條長度為 nn 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 nn 塊首尾相連的區域,一開始,第 ii 塊區域下陷的深度為 d idi 春春每天可以選擇一段連續區間 l,r l,r 填充這段區間中的每塊區域,讓其下陷深度減少 11。在選擇區...