時間限制: 1 sec
記憶體限制: 128 mb
提交: 11
解決: 8 [
提交][
狀態][
討論版]
春春幼兒園舉辦了一年一度的「積木大賽」。今年比賽的內容是搭建一座寬度為n的大廈,大廈可以看成由n塊寬度為1的積木組成,第i塊積木的最終高度需要是hi。
在搭建開始之前,沒有任何積木(可以看成n塊高度為0的積木)。接下來每次操作,小朋友們可以選擇一段連續區間[l, r],然後將第l塊到第r塊之間(含第l塊和第r塊)所有積木的高度分別增加1。
小m是個聰明的小朋友,她很快想出了建造大廈的最佳策略,使得建造所需的操作次數最少。但她不是乙個勤於動手的孩子,所以想請你幫忙實現這個策略,並求出最少的操作次數。
每組輸入資料報含兩行,第一行包含乙個整數n,表示大廈的寬度。
第二行包含n個整數,第i個整數為hi。
資料規模:
其中一種可行的最佳方案,依次選擇 [1, 5] [1, 3] [2, 3] [3, 3] [5, 5]
對於30%的資料,有1≤n≤10;
對於70%的資料,有1≤n≤1000;
對於100%的資料,有1≤n≤100000,0≤hi≤10000。
每組輸出僅一行,即建造所需的最少運算元。
下面是對樣例資料的解釋:
其中一種可行的最佳方案,依次選擇
[1, 5] [1, 3] [2, 3] [3, 3] [5, 5]
52 3 4 1 2
5
提示
比如搭建的某個過程中積木的狀態是2,3,4,0,1,豎著看的話,則搭建第一列的時候可以把第二三列也搭建兩行,然後搭建第三列,此時第三列只要搭建一塊即可,之後每列都如此,因此推出,當前列比前一列多出幾塊積木則總算子需要加幾
#include#define maxn 100005
int h[maxn];
int main()
printf("%d\n",ans);
} return 0;
}
這道題剛開始寫的時候時間超限了,後來看了別人的部落格,雖然略微不懂,但是還是按哪個思路寫出來了,別人部落格有個思想很受用:應該及時變通,換個角度思考,解決問題。
無論是簡單題還是難題都不會是毫無難度,簡單題沒有立即想出來不要慌,冷靜想想,簡單題不會太難,深入的想了許久還沒想出,一定是方向錯了,對於思路轉變不要猶豫,考場上時間就是金錢。
貪心 積木大賽
積木大賽 藍書 incdec sequence弱化題目,知道那題自然就會寫這題 這題主要思維突破點 逆向思考,原陣列對應差分陣列的特點 題目 春春幼兒園舉辦了一年一度的 積木大賽 今年比賽的內容是搭建一座寬度為n的大廈,大廈可以看成由n塊寬度為1的積木組成,第i塊積木的最終高度需要是hi。在搭建開始...
回檔 積木大賽
題目描述 description 春春幼兒園舉辦了一年一度的 積木大賽 今年比賽的內容是搭建一座寬度為n的大廈,大廈可以看成由n塊寬度為1的積木組成,第i塊積木的最終高度需要是hi。在搭建開始之前,沒有任何積木 可以看成n塊高度為 0 的積木 接下來每次操作,小朋友們可以選擇一段連續區間 l,r 然...
1264 積木大賽 (貪心
時間限制 1 sec 記憶體限制 128 mb 提交 62 解決 38 您該題的狀態 未開始 提交 狀態 討論版 春春幼兒園舉辦了一年一度的 積木大賽 今年比賽的內容是搭建一座寬度為n的大廈,大廈可以看成由n塊寬度為1的積木組成,第i塊積木的最終高度需要是hi。在搭建開始之前,沒有任何積木 可以看成...