poj 3250 bad hair day

来源:互联网 发布:软件技术咨询合同 编辑:程序博客网 时间:2024/05/24 02:36

题目链接:点击打开链接

题目分析:好用的单调栈! 维持栈内严格递减的顺序,因为栈顶元素小于当前的一定是看不见当前的所以留在那里没有任何价值,弹出

题目拓展:点击打开链接


#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<algorithm>#include<stack>using namespace std;stack<long long>data;int main(){    int t,i;    long long num,ans;    while(~scanf("%d",&t))    {        ans=0;        scanf("%lld",&num);        data.push(num);        for(i=1;i<t;i++)        {            scanf("%lld",&num);            while(!data.empty()&&data.top()<=num)            {                data.pop();            }            ans+=data.size();            data.push(num);        }        printf("%lld\n",ans);    }    return 0;}