
单调队列
largecub233
这个作者很懒,什么都没留下…
展开
-
RMQ-洛谷P2216 [HAOI2007] 理想的正方形
https://www.luogu.org/problem/show?pid=2216 一开始我想了个前坠和,后来发现有bug; 过了一个月发现是二维线段树水题,但好像二维线段树太麻烦; 然后看了题解; 1.二维倍增RMQ 2.单调队列*2; 那我都打一打把;二维倍增RMQ ma[i][j][k]表示 i,j~i+(1<< k)-1, j+(1<< k)-1) 的最大值 然原创 2017-02-20 20:26:40 · 449 阅读 · 1 评论 -
优先队列——洛谷P1440 求m区间内的最小值
https://www.luogu.org/problem/show?pid=1440 优先队列模版题么;#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#define Ll long longusing namespace std;int a[2000005],原创 2017-05-16 15:34:41 · 460 阅读 · 0 评论 -
二分+RMQ——洛谷 P1419 寻找段落
https://www.luogu.org/problem/show?pid=1419 我们直接二分答案; 然后只要验证是否有区间满足平均值>mid就好了; 这有一个简单的方法,就是把a[]每个数劝减去mid; 然后判断有没有一段的和>0; 这个用RMQ就好了;#include<bits/stdc++.h>#define Ll long longusing namespace std;原创 2017-06-20 14:26:17 · 521 阅读 · 0 评论 -
单调栈——hdu5726 GCD
http://acm.hdu.edu.cn/showproblem.php?pid=5726 给一组数字,对于每一个询问l,r 先输出l,r这段区间的区间gcd; 然后输出总区间里有几个区间的gcd等于刚才的gcd; 那么第一问线段树大力维护就好啦; 第二问用单调栈; 因为如果左端点确定的话,我们右端点不断向右移动,那么gcd要么不变,变了的话至少减少一半; 所以其实总共的gcd不会很原创 2017-07-02 13:25:56 · 367 阅读 · 0 评论 -
洛谷P1848 [USACO12OPEN]书架Bookshelf
https://www.luogu.org/problem/show?pid=1848 这道题目的线段树简直就是水题,然后用set去做,日了狗了,搞了1个小时左右结果只过4个点,标算又看不懂,先把坑挖好; 首先这道题目的暴力dp那是显然的 f[i]可以从f[j-1]+max(h[j]……h[i])推得 不难发现无论是f[]还是当j确定的max(h[j]……h[i]),都是单调的; 那么我们原创 2017-08-29 22:45:01 · 858 阅读 · 0 评论