牛客網 牛可樂發紅包脫單ACM賽 C題 區區區間間間

【題解】   我想到了兩種解法。   一種是掃描線+線段樹+單調棧。   另一種方法是O(n)的,比較巧妙。     考慮每個數在哪些區間可以作爲最小數。最長的區間就是它向左右走,直到有數字比它小,這個可以用單調棧維護。     那麼區間數就是它左邊可以走的距離*右邊可以走的距離,答案減去這個數字*區間數。     再考慮每個數在哪些區間可以作爲最大數。方法是一樣的。     那麼4次單調棧即可。
相關文章
相關標籤/搜索