
单调栈
BrooksBUAA
这个作者很懒,什么都没留下…
展开
-
[BZOJ 1007][HNOI2008]水平可见直线:单调栈
点击这里查看原题最终得到的一定是一个下凸壳,因此把所有直线以k升序为第一关键字,b降序为第二关键字进行排序。若当前直线能完全覆盖栈顶直线,即i与s[top]的交点在s[top]与s[top-1]的交点左侧,则将栈顶元素弹出。/*User:SmallLanguage:C++Problem No.:1007*/#include<bits/stdc++.h>#define ll long lo原创 2017-04-17 08:09:15 · 338 阅读 · 0 评论 -
[BZOJ 3039]玉蟾宫:单调栈
点击这里查看原题单调栈模板题,注意答案要乘3。/*User:SmallLanguage:C++Problem No.:3039*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=1e3+5;int a[M][M],s[M],l[M],tp原创 2017-04-17 09:39:27 · 436 阅读 · 0 评论 -
[BZOJ 1345][Baltic2007]序列问题Sequence:单调栈
点击这里查看原题维护一个单调递减的栈,如果要加入的元素x大于栈顶元素s[top],分两种情况: 如果s[top-1]>x,ans+=x; 如果s[top-1]<=x,ans+=s[top-1]。/*User:SmallLanguage:C++Problem No.:1345*/#include<bits/stdc++.h>#define ll long long#define in原创 2017-04-17 10:00:24 · 359 阅读 · 0 评论 -
[BZOJ 1113][Poi2008]海报PLA:单调栈
点击这里查看原题/*User:SmallLanguage:C++Problem No.:1113*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=25e4+5;int t,x,ans,n,tp,s[M];int main(){原创 2017-04-17 10:11:59 · 329 阅读 · 0 评论 -
[BZOJ 1660][Usaco2006 Nov]Bad Hair Day 乱发节:单调栈
点击这里查看原题水题/*User:SmallLanguage:C++Problem No.:1660*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=8e4+5;int n,c[M],s[M],tp;ll ans;int main(原创 2017-04-17 10:55:09 · 607 阅读 · 0 评论 -
[BZOJ 1657][Usaco2006 Mar]Mooo 奶牛的歌声:单调栈
点击这里查看原题做两次单调栈,栈里存序号/*User:SmallLanguage:C++Problem No.:1657*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=5e4+5;int n,h[M],c[M],ans,sum[M],原创 2017-04-17 11:10:58 · 523 阅读 · 0 评论 -
[BZOJ 1012][JSOI2008]最大数maxnumber:线段树|单调栈
点击这里查看原题很简单的线段树,当然也有很多别的做法/*User:SmallLanguage:C++Problem No.:1012*/#include<bits/stdc++.h>#define ll long long#define inf 999999999#define lson (rt<<1)#define rson (lson|1)#define mid (l+r>>原创 2017-04-10 17:42:57 · 312 阅读 · 0 评论