单调栈
芋智波佐助
菜鸟一只
展开
-
POJ 3250 Bad Hair Day 单调栈
维护一个单调递减的栈 每次家进栈首的牛必定可以被其他栈里面的牛看到 #include #include using namespace std; const int maxn = 80010; typedef unsigned long long LL; int a[maxn], s[maxn]; int main() { int n; scanf("%d", &n); for(int原创 2014-10-15 19:50:17 · 1050 阅读 · 0 评论 -
POJ 2082 Terrible Sets 单调栈
首先最暴力的方法就是2个循环,枚举每一个矩形,往左边找第一个高度小于当前的矩形,然后求面积,即(wi-wj)*hi,在i和j矩形之间的矩形的高度都是大于i和j的,因此可以用一个单调递增的栈维护,对于矩形i,弹出栈尾小于等于i高度的矩形,并且计算面积,最后栈中都是高度单调递增的矩形。 import java.util.ArrayList; import java.util.Scanner;原创 2016-07-18 09:03:52 · 283 阅读 · 0 评论