单调栈
Posted 033000-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单调栈相关的知识,希望对你有一定的参考价值。
基于递推,写起来更快
for(int i=1;i<=n;i++) scanf("%I64d",&a[i]),l[i]=r[i]=i; a[0]=0; for(int i=2;i<=n;i++){ int now=i; while(now>1&&a[i]<=a[now-1]) now=l[now-1]; l[i]=now; } for(int i=n-1;i;i--){ int now=i; while(now<n&&a[i]<=a[now+1]) now=r[now+1]; r[i]=now; }
以上是关于单调栈的主要内容,如果未能解决你的问题,请参考以下文章