单调队列
No__stop
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CF round189(div1)C. Kalila and Dimna in the Logging Industry(单调队列斜率优化)
CF round189(div1)C. Kalila and Dimna in the Logging Industry题意:有n棵树要砍,树的高度a[i],依次递增,且a[1] = 1。每次砍一棵树之后,我们会获得一个电站,在电站i充电时,充满的费用是b[i],且b[n] = 0 ,每砍掉一棵树,我们要给电锯充满电,充电的费用是已获得的电站中,费用最小的那个b[i] 乘以你要去砍的那棵树的高原创 2013-11-15 23:07:24 · 2228 阅读 · 0 评论 -
CF185 div1 B. Cats Transport(单调队列斜率优化dp)
CF185 div1 B. Cats Transport题意:有m只小猫,n座山,p个员工。第i座山到跟前一座山的距离距离是d[i]。第i只小猫在第h[i]座山上玩,它玩好的时间是t[i]。然后p个员工从第1座山出发,一路过去,把玩好,在等待的小猫收起来。问小猫的最少等待时间和是多少。解题思路:我们考虑第i只,和第j只小猫的选择,第i只小猫距离起点的距离为a[i](这个很容易预处理),它玩原创 2013-11-19 22:39:19 · 1770 阅读 · 0 评论 -
hdu 4123 Bob’s Race(单调队列或者rmq)
hdu 4123 Bob’s Race(单调队列或者rmq)题意:先求遍树上的每个点i,能走的最远距离,记录为num[i]。然后有m个询问,每次询问一个q,求一个最大值减最小值不超过q的最长区间。(数据范围见题目)解题思路:先求num[i],这个如果不会的话,可以先去学下树上最长路相关知识。然后就是求这个最长区间了,由于询问是500次,且区间长度为50000,对于每次询问,考虑o(n)的算原创 2013-11-07 16:30:36 · 1452 阅读 · 0 评论 -
fzu 1894 志愿者选拔(单调队列)
fzu 1894 志愿者选拔(单调队列)题意:就是排队问题,有插入,删除,询问操作,加到队列里的人有一个权值,删除就是删除当前队列里的第一个人,询问就是当前队列里的人的最大权值,插入就是插入一个人到队尾。解题思路:我是来复习一下单调队列的,以前学过一点,但是没理解,所以不多说了。#include#include#includeusing namespace std ;co原创 2013-11-06 21:52:56 · 1127 阅读 · 0 评论 -
hdu 3530 Subsequence(单调队列)
hdu 3530 Subsequence(单调队列)题意:求区间最值差在[m,k]范围内的最长区间。解法类似于hdu 4123 Bob’s Race(单调队列或者rmq)。稍微有一点点的不一样而已。#include#include#includeusing namespace std ;const int maxn = 111111 ;int n , m , num原创 2013-11-08 15:33:59 · 1395 阅读 · 0 评论 -
hdu 3401 Trade(单调队列优化dp)
hdu 3401 Trade(单调队列优化dp)题意:lxhgww喜欢炒股票,他可以在第i天买入或者卖出若干张股票(一天只能买或者卖),两个交易日之间至少相隔w天,问他t天后最多能赚多少。解题思路:首先我们可以得出的dp状态是,dp[i][j]表示第i天有j张股票,最多能持有多少钱,初始值dp[0][0] = 0 , 其余都为-INF。那么我们可以得到一个时间复杂度为o(t*mxp*交易上原创 2013-11-08 11:16:34 · 1642 阅读 · 0 评论 -
zstu3924 [NOI2005]瑰丽华尔兹 (单调队列dp)
zstu3924 [NOI2005]瑰丽华尔兹 (单调队列dp)题意:中文不解释。。解题思路:先列出dp状态,dp[i][j][k]表示在k时刻,停留在(i,j)位置时,能走的最长的路程。但是我后来在网上查了下数据范围,i,j表达能力实在是有限。。如果有什么疑问或者见解可以留言讨论。#include #include#includeusing namespace std;原创 2013-11-09 22:52:12 · 1061 阅读 · 0 评论
分享