poj 3250Bad Hair Day单调栈

    xiaoxiao2021-04-04  40

    在使用单调栈的过程中,栈中保留的奶牛 都是比当前 值 大的奶牛,这时记录此时栈中的奶牛数量,就是在当前奶牛的前面所有奶牛当中可以看到当前奶牛的奶牛数量。。。。好绕口。。。。。

    #include<cstdio> #include<cstring> using namespace std; long long int stack[88888]; long long d[88888]; int main() { int n; memset(stack,0,sizeof(stack)); scanf("%d",&n); for(int i=0;i<n;i++) scanf("%lld",&d[i]); int tot=0; long long res=0; for(int i=0;i<n;i++) { while(tot>0&&stack[tot-1]<=d[i]) tot--; res+=tot; stack[tot++]=d[i]; } printf("%lld\n",res); }

    转载请注明原文地址: https://ju.6miu.com/read-666095.html

    最新回复(0)