会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
随笔分类 -
单调栈/单调队列
bzoj1007: [HNOI2008]水平可见直线 单调栈维护凸壳
摘要:在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=-x; L3:y=0则L1和L2是可见的,L3是被覆盖的.给出n条直线,表示成y=Ax+B的形式(|A|,|B|
阅读全文
posted @
2018-04-13 21:49
walfy
阅读(163)
评论(0)
推荐(0)
poj2823单调队列
摘要:这个裸题,滑动窗口求最大最小值,单调队列来两边,一次单调递增q[s]就是最小值,一次单调递减q[s]就是最大值 cin会超时,解除同步也没用。。。 #include<map> #include<set> #include<cmath> #include<queue> #include<stack>
阅读全文
posted @
2017-07-12 23:08
walfy
阅读(152)
评论(0)
推荐(0)
poj2559单调栈
摘要:给一系列并排的矩形,宽都是1,长不同,求最大的矩形(可被上述矩形覆盖)的面积 单调栈,栈中元素为每个值所在的位置,记录下从每个值大于当前值所能到达最远的左边和右边的距离,此时中间的值一定是最小,然后H*(R-L)即当前点所能覆盖的最大面积 #include<map> #include<set> #i
阅读全文
posted @
2017-07-12 21:16
walfy
阅读(432)
评论(0)
推荐(0)
CodeForces - 91B单调队列
摘要:有一个数列,对于每一个数,求比它小的在他右边距离他最远的那个数和他的距离 用单调队列做,维护单调队列时可采用如下方法,对于每一个数,如果队列中没有数,则加入队列,如果队列头的数比当前数大,则舍弃该数 对于此题,可用两个队列来维护,一个保存值,一个保持位置,每次查询对值进行二分,然后到对应保持位置的队
阅读全文
posted @
2017-07-12 21:09
walfy
阅读(292)
评论(0)
推荐(0)
hdu3706单调队列
摘要:很基础的单调队列 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<ioma
阅读全文
posted @
2017-07-11 19:33
walfy
阅读(195)
评论(0)
推荐(0)
公告