题解: 单调栈 一个一个压入 然后比下面高就弹出 代码: #include<bits/stdc++.h> using namespace std; ; int n,tot,a[N],z[N],f[N]; int main() { scanf("%d",&n); ;i<=n;i++)scanf("%d",&a[i]); for (int i=n;i;i--) { while (tot&&a[z[tot]]<=a[…
浅谈栈:https://www.cnblogs.com/AKMer/p/10278222.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=3401 倒着扫,单调严格下降的栈维护最近可以看见的就行了. 时间复杂度:\(O(n)\) 空间复杂度:\(O(n)\) 代码如下: #include <cstdio> using namespace std; const int maxn=1e5+5; int n,top; int a[max…