队列
wly127
这个作者很懒,什么都没留下…
展开
-
NOIp2016提高组 蚯蚓————单调队列
题解:本题主要考查单调队列。简要题意:题面1.单调队列:(1).对于505050分的q=0q=0q=0,也就是蚯蚓不会增长和合并果子差不多,我们就可以用优先队列处理。(2).对于858585分的数据,和合并果子的思想差不多,就是没被切的蚯蚓加一定长度。用优先队列和数组模拟都不好处理,这就需要转换思想。利用差分的思想,没被切的蚯蚓加一定长度就是被切的减少,每次再记录累计加的长度即可。代码如...原创 2019-11-30 15:37:42 · 204 阅读 · 0 评论 -
洛谷 发射站————单调栈
题解:本题主要考查单调栈。简要题意:一个发射站会向左边最近的比它高的和右边比它高的其他发射站发射能量,求接收最多能量的发射站接收的能量是多少。1.单调栈:维护一个单调递增的栈,如果准备入栈的元素大于栈顶元素,那么新元素能量加上栈顶元素能量,退栈。代码如下:#include<iostream>#include<algorithm>#include<stack...原创 2019-11-03 20:35:08 · 358 阅读 · 0 评论 -
洛谷 序列合并————贪心+优先队列
题解:本题主要考查贪心+优先队列简要题意:有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N2N^2N2个和,求N2N^2N2个和中最小的N个1.这道题和果子合并有点像,都用优先队列来处理,ai+bja_i+b_jai+bj没有放入优先队列时,ai+bj+na_i+b_{j+n}ai+bj+n也都不会被放入,可以直接break。(第一次交没有优化就超时了…)代码如下:...原创 2019-10-28 19:27:02 · 183 阅读 · 0 评论 -
洛谷月赛 小C与桌游————拓扑排序+贪心+优先队列优化
题解:本题主要考查拓扑排序+贪心+优先队列优化。简要题意:nnn个点,mmm条边的有向无环图,求拓扑序的前缀最大值最多和最少。1.拓扑排序+贪心:我们发现这道题和拓扑排序有关,知道了这一点,问题就解决了大半。对于求最大的,我们可以贪心的取编号最小的入度相同的点。但对于求最小的,就不能直接贪心取取编号最大的入度相同的点,大部分人(包括我)都是这样错的!因为这样忽略了较小的点!所以我们讨论一下:...原创 2019-10-28 16:59:02 · 200 阅读 · 0 评论 -
NOIp提高组 2011选择客栈————贪心+递推
题解:本题主要考查贪心+递推。简要题意:两个客栈a,b,满足a,b颜色相同且[a,b]闭区间之间必须存在某个客栈的咖啡店的花费<=p。求满足的方案数。1.贪心+递推:我们枚举客栈,用t来记录最近的花费小于等于p的客栈,以它为选择的咖啡店,向后枚举记录到上一个t的客栈颜色种类数(因为[a,b]闭区间有花费小于等于p的)。所以如果这个客栈更新了t,ans+=num[这个客栈的颜色]-1如...原创 2019-10-22 16:34:58 · 137 阅读 · 0 评论 -
NOIP2004合唱队列(提高组T3)————单调队列,动态规划(最长上升序列,最长下降序列)
题解:本题主要考查单调队列,动态规划(最长上升序列,最长下降序列)。这个序列是一个中间高,两头底的序列,先解决从T1到Ti这一段单调递增的序列,再解决Ti到TK这一段单调递减的序列(注意数值的更新)。代码如下:#include<iostream>#include<algorithm>using namespace std;int q(int x);int n,i...原创 2018-10-05 21:54:38 · 486 阅读 · 0 评论 -
[USACO09MAR]向右看齐Look Up————单调栈
题解:本题主要考查单调栈。先构建一个栈,如果比栈顶的数大就a[i]是之前栈顶数的仰望对象,记录它的仰望对象并将原来栈顶的数出栈,反之再将a[i]进栈。代码如下:#include<iostream>using namespace std;int a[653576],sum[374734];int n,top=1,i,j;struct b{ int num;int v...原创 2019-02-06 11:41:01 · 273 阅读 · 0 评论 -
洛谷P1714 切蛋糕————单调队列+前缀和
题解:本题主要考查单调队列简要题意:取连续的k(k<=m)个数,求其中所有可能的最大值。1.前缀和:求的是连续最值很自然用前缀和求,注意k<=m。2.单调队列:维护单调队列,不在范围内要出队代码如下:#include<iostream>#include<algorithm>using namespace std;int n,m,h=1,t=1,a...原创 2019-07-09 18:29:53 · 262 阅读 · 0 评论 -
P1886 滑动窗口————单调队列
题解:本题主要考查单调队列或优先队列。这是一题经典的题目,这题数据很大暴力超时,所以就用单调队列来优化。代码如下:#include<iostream>using namespace std; int n,k,i,h,t;int a[4627383],v[7385475],q[54534533];int main(){ cin>>n>>k; fo...原创 2019-02-02 17:10:48 · 289 阅读 · 0 评论 -
POJ 3190 Stall Reservations————贪心+优先队列
题解:本题主要考查贪心和优先队列。简要题意:N(l<N< 50000)头奶牛,某一头牛挤奶为时间段A到B(A和B)。每头奶牛应单独被安排到牛棚去挤 奶,至少需要多少牛棚 •每头牛应该在哪个牛棚被挤奶。1.贪心:将牛按照开始时间由小到大排序,相等的话按结束时间由小到大排序。有牛的挤奶时间的开始值大于队首的结束值,那么这两头牛可以共用。反之牛棚++。2.优先队列:加入优先队列的牛应按...原创 2019-07-07 16:36:20 · 151 阅读 · 0 评论