![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调队列&单调栈
「已注销」
这个作者很懒,什么都没留下…
展开
-
BZOJ 1012: [JSOI2008]最大数maxnumber 题解
题目梗概(直接copy)(传送门) 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾原创 2017-06-29 20:28:03 · 292 阅读 · 0 评论 -
BZOJ 1007: [HNOI2008]水平可见直线 题解
(传送门) 其实这道题的求法和凸包类似,首先如果有三条直线i,j,t;并存在 那么如果出现i与j的交点在i与t的交点的左边,那么说明j已经被i和t所覆盖了,用单调栈,把j弹出栈,周而复始。然后……好像也没什么可说的。原创 2017-07-13 19:14:28 · 222 阅读 · 0 评论 -
[队列]【NOIP2016D2T2】蚯蚓 题解
传送门: 洛谷 UOJ 解题报告 取最小值就直接想到堆,但是注意m为$7*10^6$,也就是最后可能会有$10^7$以上的个数,堆的$O(nlogn)$显然会TLE,所以需要更优的方案。 首先会发现蚯蚓的增长是很麻烦的,但是这是相对的。所以可以直接让被选出的蚯蚓减少长度而不是让其他蚯蚓增加长度。也就是说所有的蚯蚓其实都是"最初的长度",然后要切的时候加回原长,切完后的两段又捡回"初始长度"。原创 2017-10-27 07:35:46 · 392 阅读 · 0 评论