单调栈/队列
谢符宝
业精于勤,荒于嬉行成于思,毁于随。
展开
-
poj2823
题意:给n个数,求出每连续k个数中的最小值和最大值。解法:暴力的话n*k一定超时,此处用的是裸写的单调队列,输出最小值时,维护队列单调递增,输出最大值是维护队列单调递减。每次输出队头元素,如果队头元素的下表位置距离队尾大于k,队头就一直抛出。代码:#include #include using namespace std;struct point{ int num;原创 2014-01-19 22:17:47 · 571 阅读 · 0 评论 -
poj3250(单调栈)
题意:一排牛,每头牛只可以看到自己右边连续的比自己矮的牛,求所有的牛看到的牛的数量和。解法:裸的单调栈;代码:/***************************************************** author:xiefubao*******************************************************/#pragma comm原创 2014-02-25 23:35:03 · 703 阅读 · 0 评论