码迷,mamicode.com
首页 >  
搜索关键字:单调队列    ( 1102个结果
HDU 4123(树的直径+单调队列)
Bob’s RaceTime Limit: 5000/2000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2833Accepted Submission(s): 917Problem D...
分类:其他好文   时间:2015-08-08 13:20:09    阅读次数:162
HDU 4362 Dragon Ball(维护最小值DP优化)
?? 题意: 在连续的 n 秒中,每秒会出现 m 个龙珠,出现之后会立即消失,知道了第一秒所在的位置,每从一个位置移动到另一个位置的时候,消耗的价值为 abs(i-j), 知道了次出现的龙珠的价值,问 n 秒之后得到的最大价值是多少。 思路:这道题朴素的做法时间复杂度为O(n*n*m)勉强可以水过去,正解应该是用单调队列的思路维护最小值优化。 由状态转移方程dp[i][j] = min{ d...
分类:其他好文   时间:2015-08-08 06:43:55    阅读次数:139
滑动窗口的单调队列
今天的训练赛HDU 4122,卡到最后也没出来,结束后和队友冷静分析代码后才发现错在一个简单的错误上,修改后A了赛后看题解,大家的题解中大都提到了要用单调队列。去网上搜单调队列。。文章无外乎就两种。。= = 抄袭好严重呀1.http://zhonghuan.info/2014/09/16/%E6%B...
分类:其他好文   时间:2015-08-07 23:34:23    阅读次数:110
12170 - Easy Climb(DP+单调队列)
该题需要用数据结构来优化DP ,具体方法就是之前第八章讲的(用数据结构优化算法,紫书P241),使用一个数组和两个指针维护一个单调队列, 可以在O(n)的时间内求出滑动窗口中的最小值 。 有了这个优化我们就可以快速的求出dp[i-1][j](x-d 然而刘汝佳就是不这么做,他只用了一个指针,连维护优先队列的数组都没开,就“隐式的”求出了最小值 。 具体做法是: 1.先维护窗口左边界,别让指...
分类:其他好文   时间:2015-08-06 22:35:01    阅读次数:154
【单调队列】最长区间最大值减最小值小于一个值
void solve(){ int ans=0,i,j,front1,front2,rear1,rear2; front1=rear1=0; front2=rear2=0; for(i=1,j=1;jfront1&&d[qmax[rear1-1]]front2&&d[qmin...
分类:其他好文   时间:2015-08-04 13:07:03    阅读次数:128
单调队列
大概2014年10月去看了下单调队列,那算法还是挺不错的,总是能最快的求出在某个区间的最值。那时做了几道题巩固下,后面一直没看了,然后今天偶遇一道类似的题,https://leetcode.com/problems/sliding-window-maximum/,看到时想起来是这个算法。但是忘光了,...
分类:其他好文   时间:2015-08-03 20:56:48    阅读次数:109
HDU3415
题意:给一串数,求解最大连续子序列和。 思路:和HDU1003一样,增加了两个条件,所取的区间长度必须在K范围内,另外这是一个循环数组,所以考虑可以用单调队列来做,另外可以直接循环数组操作,和1003差不多。 #include #include #include #define N 200050 using namespace std; int S[N],q[N]; int MA...
分类:其他好文   时间:2015-08-02 16:55:32    阅读次数:123
UVA 1451 Average Seol 平均值
摘要:数形结合,斜率优化,单调队列。题意:求一个长度为n的01串的子串,子串长度至少为L,平均值应该尽量大,多个满足条件取长度最短,还有多个的话,取起点最靠左。求出前缀和S[i],令点Pi表示(i,S[i]),那么这个问题就转化成了求斜率最大的两点。画图分析可知,如果有上凸点,那么上凸点,一定不会是...
分类:其他好文   时间:2015-08-01 17:09:40    阅读次数:111
poj 2823 Sliding Window (单调队列)
Sliding WindowTime Limit:12000MSMemory Limit:65536KTotal Submissions:46705Accepted:13485Case Time Limit:5000MSDescriptionAn array of sizen≤ 106is give...
分类:Windows程序   时间:2015-07-29 22:44:43    阅读次数:714
HDU 5289 Assignment(单调队列)
题意:给T足数据,然后每组一个n和k,表示n个数,k表示最大允许的能力差,接下来n个数表示n个人的能力,求能力差在k之内的区间有几个 分析:维护一个区间的最大值和最小值,使得他们的差小于k,于是采用单调队列 普通单调队列做法: #include #include #include #include using namespace std; const int maxn = 1...
分类:其他好文   时间:2015-07-29 12:20:53    阅读次数:119
1102条   上一页 1 ... 83 84 85 86 87 ... 111 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!