洛谷 P5019 鋪設道路

2022-05-01 22:45:27 字數 579 閱讀 5118

題面檢視

其實看到題目的第一想法其實是二分,每一次找乙個minx,再記錄它的pos,對於(l,pos-1)和(pos+1,r)繼續做,然後一看資料範圍,\(1≤n≤100000\),立刻就否決了.其實在考場上說不定我就打70分了

然後我就開始對於資料進行模擬,突然靈光一閃,發現如果對於乙個坑x,\(\forall depth_x+1>depth_x\),我們會將\([x,x+1]\)區間內的數全部減去\(d_x\),那麼這個x就是不必要的.

於是就有了如下的貪心策略

\[\sum_} depth_x-depth_

\]然後問題就迎刃而解了,附上**

#include using namespace std;

const int maxn = 100005;

long long n, a[maxn];

long long ans;

int main()

注:本題在13年考過,在usaco也有題目,等於可以拿3倍經驗三個願望一次滿足

洛谷 P5019 鋪設道路

假設現在有乙個坑,但旁邊又有乙個坑,你肯定會選擇把兩個同時減1,那麼小的坑肯定會被大的坑 帶著 填掉。大的坑也會減少a i a i 1 的深度,可以說是白嫖減少了1,所以我們只需要遍歷整個陣列並加上a i 與a i 1 的差即可。include using namespace std define ...

洛谷 P5019 鋪設道路

洛谷傳送門 春春是一名道路工程師,負責鋪設一條長度為 nn 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 nn 塊首尾相連的區域,一開始,第 ii 塊區域下陷的深度為 d id i 春春每天可以選擇一段連續區間 l,r l,r 填充這段區間中的每塊區域,讓其下陷深度減少 11。在選...

洛谷P5019 鋪設道路

眾所周知,這道題和積木大賽是同一道題 題意就是給出一段自然數序列,每次操作 l,r 把區間 l,r 的數全部減一,不允許出現負數,問把序列變為零的最小操作次數 樣例6 4 3 2 5 3 5 大概長這個樣子 我們考慮第一列的四塊格仔,最少需要 4 次操作給消除掉 在考慮第二列的 3 個格仔時,發現都...