鋪設道路

首先觀察到操作結果與次序無關,並假設操作(l+1,l)等同於不進行任何操作。 如果原序列中出現了0,任何操作都不能經過這個位置,它的左邊和右邊就相互獨立了,可以分開考慮。 其實這題可以笛卡爾優化 遞歸求解過程形成的樹就是原序列的 笛卡爾樹 ,利用構造笛卡爾樹的線性做法,可以把這題優化到O(n)。 (其實不用也可以,n只有 1 0 5 10^5 105 #include<bits/stdc++.h>
相關文章
相關標籤/搜索