ArcTan

dfs
随笔 - 16, 文章 - 117, 评论 - 6, 引用 - 0
数据加载中……

poj3250(单调栈单调队列)--

这个题解很好,YM啊
http://hi.baidu.com/oichampion/blog/item/ed51694a0e1256d9d1c86ae4.html

这个题目WA了一下午了,哎哎,得研究研究单调栈和单调队列去!
总结:多发现问题的本质。
数学本质!!!
#include<stdio.h>
#include
<string.h>
#include
<math.h>
long long stack[80008];
int main()
{
    
int i,n,top;
    
long long x,ans;
    
while (scanf("%d",&n)==1)
    {
        top
=0;ans=0;
        
for (i=1; i<=n ; i++ )
        {
            scanf(
"%I64d",&x);
            
while (top&&x>=stack[top])
                top
--;
            ans
+=top;
            top
++;
            stack[top]
=x;
        }
        printf(
"%I64d\n",ans);
    }
    
return 0;
}

posted on 2012-04-24 20:57 wangs 阅读(374) 评论(0)  编辑 收藏 引用 所属分类: ACM-数据结构


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理