即:
題解
我們分析一下條件,
bj <= bi <= bn 什麼意思? 說明bj和bi都不超過bn,那麼首先可以確定範圍
bi可以在bj~bn的範圍內任意波動,設bm是bn左邊第一個嚴格比它大的數,那麼j只能在m+1~n內取值。
然後可以用反證法證明bj就是m+1到n中的最小值。
那麼可以用一個單調遞減單調棧來算每一個m,然後設第i個元素的“m”爲Ai,不難發現,新加進棧裏的 i 的Ai就是彈出的所有A和 i 中b值最小的那個(標號),即每次(從後往前)彈出標號j時,
這樣就可以求出答案了,總複雜度O(n)。
代碼
被狗吃了(找不到題)