
单调队列
文章平均质量分 74
Miao_zc
膜Hz
展开
-
bzoj3316: JC loves Mkk
首先看到环,考虑变成链上询问。由于题目要求平均值最大,所以无法直接使用线段树维护。先二分平均值,问题就能转化为能否找到L~R的一列数和大于等于零。这个很像单调队列,只要对奇偶分别维护单调队列就可以了。 #include #include #define N 200005 #define ll long long using namespace std; ll n,m,L,R,a[N],q[2][原创 2016-08-23 12:00:46 · 585 阅读 · 0 评论 -
bzoj3242: [Noi2013]快餐店
——来自一个失去梦想的咸鱼miaom 考虑海蜇基环树的一般套路,在确定快餐店位置的情况下,最优解中环上必有一条边是废的。思考枚举这条边,我们需要在最快的时间求剩余部分的直径。当前答案就是直径/2,证明非常简单,就离快餐店最远的点一定是直径端点。这个东西可以通过双指针单调队列维护,达到O(n)复杂度。然后我就失去了梦想,直接线段树水过了。 线段树做法如下:先搞出那个环,重复一遍变成序列问题,询问原创 2017-07-04 21:09:18 · 655 阅读 · 0 评论