随笔分类 - 数据结构-单调栈 单调队列
摘要:题意n(1≤1000000)个点的有根树,1号点为根,q(1≤1000000)次询问,每次给一个k,每一次可以选择k个未访问的点,且父亲是访问过的,要求最少次数访问完所有的点。 分析神题不会做。 题解得到一个式子$ans=max(i+ \left \lceil ...
阅读全文
摘要:题意n个点,需要再一些点建立控制站,如果在第i个建站,贡献为a[i]。假设前一个站为j<i,则[j+1,i]的点的贡献是∑ik=j+1(ik)b[k]。同时要求第n个点建站。求最小贡献。(n≤106) 题解设d(i)表示前i个...
阅读全文
摘要:题意给一个长度为n的序列ai,对于每个1≤i≤n,找到最小的非负整数p满足 对于任意的j, aj≤ai+p√|ij| 分析我们正反dp一下。 题解令d(i)表示最小的p,则$d(i) = max(a_j+\sqrt{...
阅读全文
摘要:题意n(1≤n≤1000000)个数ai(ai≤109)。m(1≤m≤50)次询问,每次给出一个k(k≤109),可以执行操作:每次选择一个大于k的ai,将ai减去1,然后将ai1或$a_{i+...
阅读全文
摘要:题意长度为n(1≤n≤1000000)的账单,+表示存1,表示取1,任意时刻存款不会为负。初始有p,最终有q。每一次可以耗时x将某位取反,耗时y将最后一个移到最前面,求最小耗时使得账单正确。 分析首先很显然最终+和的数目是可以确定的。所以我们...
阅读全文
摘要:题意给定一个长度为2n(1≤n≤500000)的序列,1~n各出现两次,可以交换相邻两项,两个同样的数放在一起会对消,求把所有数对消的最小交换次数。 分析如果有一对在另一对之间,则这一对肯定要在另一对前面消除。否则答案不变。 题解维护一个栈存储第一次出现的数,然后如果新...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1057同某一题差不多?记不清是哪题了。。就是每一行进行单调栈维护递增的高度,在进栈和出栈维护一下长度和面积即可然后搜了下题解。。。。悬线法是点啥。。。。。就是那个白书上也有的做法的DP吗。。。(表示也写...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1047树状数组套树状数组真心没用QAQ。。。。首先它不能修改。。而不修改的可以用单调队列做掉,而且更快,只有O(n^2)。而这货是n^2log^2n的建树。。。虽然查询是log^2n。。。但是建树那里就...
阅读全文
摘要:概要:对于维护信息具有单调性的性质或者问题可以转化为具有单调性质的模型的题,我们可以考虑用单调栈或单调队列。技巧及注意:技巧很多,只要能将问题转化为单调性问题,就好解决了。当维护固定长度的单调区间,我们考虑用单调队列,如【BZOJ】3314: [Usaco2013 Nov]Crowded Cows(...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3401还能更裸一些吗。。维护一个递减的单调栈#include #include #include #include #include #include #include using namespace ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3314一眼就是维护一个距离为d的单调递减队列。。。第一次写。。。。。看了下别人的代码。。。这一题只需要维护距离为d的最大,然后判断最大的是否大于等于自己高度*2#include #include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1628http://www.lydsy.com/JudgeOnline/problem.php?id=1683又是重复的题。。。。单调栈维护递减,然后相同的话矩形-1#include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1660单调栈裸题。。累计比每一个点高的个数即可。#include #include #include #include #include #include #include using namespac...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1657这一题一开始我想到了nlog^2n的做法。。。显然可做,但是麻烦。(就是二分+rmq)然后我仔细的想了想,恩,对,单调栈可以完成。。。他们有传递性的。。然后你懂的。。#include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1007一开始我贪心的写了下,当然全wa了。。这题看了题解感觉很简单。首先什么情况才能看到呢?wobuzhidao。我画图才看出门道的。。当前直线与相对他斜率次大和次次大的2条直线时,如果与次大的(或者次...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3039每次看到我的提交都有点淡淡的忧伤T_T。。看到此题我想到用前缀和维护点ij向左和向上能拓展的最大长度,然后设状态f(i, j, 0)表示ij这个点为最大矩形的右下角时的长(横的),f(i, j, ...
阅读全文