NOIP2018Day1T1 鋪設道路

2022-02-12 19:23:42 字數 1008 閱讀 2642

春春是一名道路工程師,負責鋪設一條長度為 \(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。在選擇區...