----单调队列/单调栈
文章平均质量分 72
扩展的灰
扩展的灰(Extended Ash)
展开
-
Jzoj5451【NOIP2017提高A组冲刺11.4】Genocide(待补充)
给你一个序列a,要你求出一个同样长的序列c满足ai∈{0,1}的情况下使得下面式子值最大 现在还有m个询问,每次修改一个ai(注意询问是互相独立的),依然是问你最大值 这个题先讲讲50分,后面要加上cdq完全不会,挖个坑待填 额一眼还以为是个线性代数题 结果是一个dp 差不多就是说,你选一段连续的区间[l,r]会带来(r-l原创 2017-11-04 21:50:07 · 297 阅读 · 0 评论 -
51Nod1543 铁人两项
题目点这里 一个非常好玩的题目 一开始各种推结论没有推出来,后来看到一位大佬提到“凸包”突然明白 首先去掉所有两项速度都比某个人慢的那些,让后开始分析剩下的人 我们设函数Ti(x)=x/ri+1/siTi(x)=x/ri+1/siT_i(x)=x/r_i+1/s_i 令R/S=xR/S=xR/S=x我们就可以通过比较Ti(x)Ti(x)T_i(x)得到各个选手的用时大小关系 ...原创 2018-07-26 17:55:09 · 203 阅读 · 0 评论 -
斜率DP十连测
最近学校里很多题目都没时间做,顺便来写一下博客 斜率DP十连: A[征途] 注意到,原题的式子,等价于m∑a2i−(∑ai)2m∑ai2−(∑ai)2m\sum a_i^2-(\sum a_i)^2后面部分是常数 那么我们就可以写出dp方程f[i,j]=min{f[i−1,k]+(sj−sk)2},k<jf[i,j]=min{f[i−1,k]+(sj−sk)2},k<...原创 2018-08-12 23:59:34 · 300 阅读 · 0 评论 -
51Nod1215 数组的宽度
题目看这里 各种求和最好玩的啦 看到题目就应该知道要单独考虑每个元素的贡献 那么一个元素i的贡献肯定是a[i]*(l[i]-i)*(i-r[i]),这里l,r分别表示左边和右边第一个比i大的数的位置 最大值部分的贡献算完了最小值是类似的 考虑怎么求这个l和r,直接上单调栈就可以了 (code很难看当时不知道在想什么写成这样) #pragma GCC opitmize("O3")原创 2018-04-27 17:38:05 · 243 阅读 · 0 评论 -
51Nod1349 最大值
题目看这里 各种离线套路题。。。 我们考虑对每个元素都先预处理答案让后就可以O(lg n)回答了 将元素排序后,对于两个询问i,j∈(s[k],s[k+1]]的答案是一样的,我们考虑计算当i=s[k]时的答案 显然,当i=s[1]的时候,答案就是总区间数 这时考虑当i->s[2]的时候有哪些区间被从答案中去掉了 对于一个点i,令l[i]表示当前询问q下,满足区间[l[i],i]最大值原创 2018-02-15 09:41:21 · 292 阅读 · 0 评论 -
Jzoj3169 生产汽车
如前面提到,ABC的汽车工厂有N个工人,他们在一个传送带上生产汽车,工人从左到右排列,编号依次为1到N,采用流水线模式,每个人负责自己的一部分工作。 生产一台汽车需要从1号工人开始,当1号完成他的工作后,2号就会开始工作,然后是3号,最后当N号工人完成他的工作后,整个汽车生产完毕。工人们一共需要生产M台汽车,而且必须按照从1到M的顺序去生产。 对于工人i,他完成自己的工作需要Ti的时间,而对于原创 2018-01-07 21:55:56 · 421 阅读 · 0 评论 -
Jzoj1968 设计铁路
A省有一条东西向的公路经常堵车,为解决这一问题,省政府对此展开了调查。调查后得知,这条公路两侧有很多村落,每个村落里都住着很多个信仰c教的教徒,每周日都会开着自家的车沿公路到B地去“膜拜”他们的教主,这便是堵车的原因。详细调查显示:这里总共有N个村落,并且它们都在B地的东边。编号为i的村落住有ti个信仰c教的教徒,距离B地的距离为ri(单位:公里)。 为解决这一问题,A省政府决原创 2018-01-30 20:06:36 · 213 阅读 · 0 评论 -
Jzoj3154 删数字
给你一个N 个数组成的序列V,要你删除其中K 个数,M 表示剩下的数字 中任意两个数的差值的最大值,m 表示最小差值,要你计算删除K 个数后,M+m的最小值。 一看便知道先排序,那么答案必然是一段连续的区间,直接上单调队列就好 #pragma GCC opitmize("O3") #pragma G++ opitmize("O3") #include #include #includ原创 2017-12-30 21:21:20 · 281 阅读 · 0 评论 -
Jzoj5246 Trip
温馨提示:本文附带bgm 多年之后,worldwideD厌倦竞争,隐居山林。 他的家乡开始发展起了旅游业,在一条很长的主干道上,有N个旅游景点,按顺序编号为1到N。根据游客们网上的评分,第i个景点有一个评估值a[i],为了区分开不同的景点,评估值是两两不同的。 今天有M组游客前来旅游,第i组游客选择遍历景点Li到景点Ri这一段路。他们搜到Li到Ri的所有评估值原创 2017-11-21 22:04:42 · 289 阅读 · 0 评论 -
Bzoj1185 [HNOI2007]最小矩形覆盖 + Bzoj1069 [SCOI2007]最大土地面积
. 题目链接1 题目链接2 2道旋转卡壳算法+凸包模板题 应该说是一个比较标准的算法了,凸包就是排序+单调栈搞一下就好 旋转卡壳就是一个运用了凸包单调性的思想,每次逆时针走一条边,就把对点移动一个 第一题稍微麻烦,需要枚举矩形的一条边,让后找水平方向和垂直方向最远距离,分别用点积和叉积就可以判 第二题直接枚举对角线,让后找左右点到直线最长距离 稍微注意基本运算和函数的实现就可以了,剩下的都是可以现...原创 2018-12-27 08:28:09 · 206 阅读 · 0 评论