单调队列
SC.ldxcaicai
我很菜=_=
展开
-
2018.07.08 NOIP模拟 ABCD(背包)
ABCD 题目背景 SOURCE:NOIP2016-AHSDFZ T2 题目描述 有 4 个长度为 N 的数组 a,b,c,d 。现在需要你选择 N 个数构成数组e ,数组e 满足 a[i]≤e[i]≤b[i] 以及 并且使得 最大。 输入格式 输入文件共 N+1 行。 第 1 行包含 1 个正整数 N 。 第 i+1 行包含 4 个整数 a[i],b[i],c[i],...原创 2018-10-11 23:09:50 · 269 阅读 · 0 评论 -
2018.10.23 vijo1243生产产品(单调队列优化dp)
传送门 这道单调队列真的有点难写啊。 方程感觉挺简单的。 f[i][j]f[i][j]f[i][j]表示在第iii个车间结束前jjj次步骤的最小代价。 然后用单调队列毒瘤优化一下就行了。 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se se...原创 2018-10-23 20:15:54 · 143 阅读 · 0 评论 -
2018.10.14 bzoj1915: 奶牛的跳格子游戏(单调队列优化dp)
传送门 NOIP练习题。 f[i]f[i]f[i]表示去的时候选了iii且回来的时候第一步走的是i−1i-1i−1的最优值。 显然f[i]=maxf[i]=maxf[i]=max{f[j]−sum[j]f[j]-sum[j]f[j]−sum[j]}+sum[i−2]+a[i]+a[i−1]+sum[i-2]+a[i]+a[i-1]+sum[i−2]+a[i]+a[i−1] 直接上单调队列优化就行...原创 2018-10-14 23:01:46 · 229 阅读 · 0 评论 -
2018.09.26洛谷P3957 跳房子(二分+单调队列优化dp)
传送门 表示去年考普及组的时候失了智,现在看来并不是很难啊。 直接二分答案然后单调队列优化dp检验就行了。 注意入队和出队的条件。 代码: #include<bits/stdc++.h> #define N 500005 using namespace std; inline int read(){ int ans=0,w=1; char ch=getchar(); while(...原创 2018-09-26 18:59:40 · 249 阅读 · 0 评论 -
2018.09.23 孙悟空大战鲤鱼精(单调队列优化dp)
传送门 一道带了spj的单调队列优化dp。 注意元素入队和出队的条件。 代码: #include&lt;bits/stdc++.h&gt; #define N 200005 using namespace std; inline int read(){ int ans=0,w=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')w=-1;...原创 2018-09-23 17:22:13 · 910 阅读 · 0 评论 -
2018.09.10 bzoj1499: [NOI2005]瑰丽华尔兹(单调队列优化dp)
传送门 单调队列优化dp好题。 这题其实很简单。 我们很容易想到一个O(T∗n∗m)O(T∗n∗m)O(T*n*m)的算法,就是以时间点与坐标转移。 然后我们可以改成时间段和坐标转移。 时间复杂度O(k∗n3)O(k∗n3)O(k*n^3) 方程是: f[k][x][y]=max(f[k−1][x′][y′]+dist(x,y,x′,y′))f[k][x][y]=max(f[k−1]...原创 2018-09-10 23:45:01 · 164 阅读 · 0 评论 -
2018.09.10 bzoj1855: [Scoi2010]股票交易(单调队列优化dp)
传送门 单调队列优化dp好题。 有一个很明显的状态设置是f[i][j]表示第i天完剩下了j分股票的最优值。 显然f[i][j]可以从f[i-w-1][k]转移过来。 方程很好推啊。 对于j&lt;kj&lt;kjj&gt;kj&gt;kj>k的情况我们分别对第二维建立单调队列转移。 代码: #include&lt;bits/stdc++.h&gt; #defi原创 2018-09-10 21:41:36 · 191 阅读 · 0 评论 -
2018.09.06 烽火传递(单调队列优化dp)
描述 烽火台是重要的军事防御设施,一般建在交通要道或险要处。一旦有军情发生,则白天用浓烟,晚上有火光传递军情。 在某两个城市之间有 n 座烽火台,每个烽火台发出信号都有一定的代价。为了使情报准确传递,在连续 m 个烽火台中至少要有一个发出信号。现在输入 n,m 和每个烽火台的代价,请计算总共最少的代价在两城市之间来准确传递情报。 输入 第一行是 n,m ,表示 n 个烽火台和连续烽火台...原创 2018-09-06 23:16:57 · 625 阅读 · 0 评论 -
2018.09.11 bzoj47214721: [Noip2016]蚯蚓(单调队列)
传送门 好题。 目测只会多带一个log2n+mlog2n+mlog_2 {n+m}的解法,看了题解之后才会正解。 解析: 我们用三个队列来维护每次弹出的值。 第一个队列就是原数列。 第二个队列是每次砍掉后短的那一节组成的,第三个队列是长的那一节组成的。 显然这三个队列都具有单调性。 那么每次从三个队列中选一个最大的然后压入后两个队列里就行了。 实现细节见代码吧。 代码: ...原创 2018-09-11 21:42:54 · 144 阅读 · 0 评论 -
2018.10.29 bzoj1023: [SHOI2008]cactus仙人掌图(仙人掌+单调队列优化dp)
传送门 求仙人掌的直径。 感觉不是很难。 分点在环上面和不在环上分类讨论。 不在环上直接树形dpdpdp。 然后如果在环上讨论一波。 首先对环的祖先有贡献的只有环上dfsdfsdfs序最小的点。 对答案有贡献的则是环上的任意两个点。 对于环上任意两点(i,j)(i,j)(i,j) Ans=max(Ans,f[i]+f[j]+dist(i,j))Ans=max(Ans,f[i]+f[j]+dist...原创 2018-10-29 11:58:36 · 277 阅读 · 0 评论