日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【洛谷 1969】积木大赛

發布時間:2024/7/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【洛谷 1969】积木大赛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

春春幼兒園舉辦了一年一度的“積木大賽”。今年比賽的內容是搭建一座寬度為nn的大廈,大廈可以看成由n塊寬度為1的積木組成,第i塊積木的最終高度需要是h_ih
i
??? ? 。

在搭建開始之前,沒有任何積木(可以看成nn塊高度為00的積木)。接下來每次操作,小朋友們可以選擇一段連續區間[l, r][l,r],然后將第第 L L塊到第 RR 塊之間(含第 LL 塊和第 R R塊)所有積木的高度分別增加11。

小 M M是個聰明的小朋友,她很快想出了建造大廈的最佳策略,使得建造所需的操作次數最少。但她不是一個勤于動手的孩子,所以想請你幫忙實現這個策略,并求出最少的操作次數。

輸入輸出格式

輸入格式:
包含兩行,第一行包含一個整數nn,表示大廈的寬度。

第二行包含nn個整數,第i個整數為h_i h
i
??? ? 。

輸出格式:
建造所需的最少操作數。

輸入輸出樣例

輸入樣例#1: 復制
5
2 3 4 1 2
輸出樣例#1: 復制
5
說明

【樣例解釋】

其中一種可行的最佳方案,依次選擇

[1,5][1,5] [1,3][1,3] [2,3][2,3] [3,3][3,3] [5,5][5,5]
【數據范圍】

對于 30\%30%的數據,有1 ≤ n ≤ 101≤n≤10;

對于 70\%70%的數據,有1 ≤ n ≤ 10001≤n≤1000;

對于 100\%100%的數據,有1 ≤ n ≤ 100000,0 ≤ h_i≤ 100001≤n≤100000,0≤h
i
??? ? ≤10000。

題解:去年我居然沒做出來(難受),原來這么水……
如果后面的大于當前目標,顯然要多搞幾次才行。
如果小于,現在在搞這一塊的時候順便就可以把下一塊弄好了
所以只要+下一塊比現在多的就可以了

#include<cstdio> #include<iostream> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> typedef long long ll; using namespace std; int n,x,now,ans; int main(){//freopen("1969.in","r",stdin); // freopen("1969.out","w",stdout);cin>>n;for(int i=1;i<=n;i++){cin>>x;if(x>now) ans+=(x-now);now=x;}cout<<ans;return 0; }

?

轉載于:https://www.cnblogs.com/wuhu-JJJ/p/11139686.html

總結

以上是生活随笔為你收集整理的【洛谷 1969】积木大赛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。