E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
单调队列
HDU 3415 Max Sum of Max-K-sub-sequence 最长K子段和
本题採用的非常巧妙的DP做法,是用
单调队列
优化的DP。 运用的是STL的deque,从i:1~a找到以当中以i为尾的符合条件的子段。并将i本身放入双向队
·
2015-11-13 18:45
sequence
HDU 3410 && POJ 3776 Passing the Message
单调队列
单调队列
,对于 front - rear 的队列(注意出队都是在rear,入队也是在rear) 当增加元素x,若这队列是单调递增的,显然q.fr
·
2015-11-13 17:46
message
Hlg 1522 子序列的和 <
单调队列
>
题意: 给一串数字长度n 和 取值长度范围m 还有这串数字..a0, a1, a2, a3, ..., an 求这串数字中在 长度范围m 内和sum 最大的.. 思路: 从1~n 遍历每一个数.. 当前数字串和S(i) - 以前数字串和中的最小那个S(i-k){1 < k <m}<以前数字串的‘以前’范围是取值长度范围> ‘以前数字串和中的最小那个’可以用 单
·
2015-11-13 15:17
队列
BZOJ 1096 [ZJOI2007]仓库建设
转移特别显然是n^2的,tle~ 然后由于转移没有区间限制,所以应该不是
单调队列
,然后想斜率优化吧。 推了两张纸,证明了决策的单调性(我以前都是默认的单调。。。第一次证明。),嘿嘿。
·
2015-11-13 15:03
2007
BZOJ 1012
单调队列
+二分
单调队列
是递减的,储存的是递减的元素的位置。 然后询问的时候就在
单调队列
里面二分地寻找合适的最大值所在的位置 最近二分总是写不对。不知道怎么了。。。以前从来没出过错。。。
·
2015-11-13 14:56
ZOJ
POJ 1821
单调队列
优化DP
题意: 有一道线性篱笆由N个连续的木板组成。有K个工人,你要叫他们给木板涂色。每个工人有3个参数:L 表示 这个工人可以涂的最大木板数目,S表示这个工人站在哪一块木板,P表示这个工人每涂一个木板可以得到的钱。要注意的是,工人i可以选择不涂任何木板,否则,他的涂色区域必须是连续的一段,并且S[i]必须包含在内。 最后还有,每块木板只能被涂一次。 思路: 第一眼,水题
·
2015-11-13 14:16
poj
BZOJ 1047 [HAOI2007]理想的正方形
单调队列
DP
就是横向一个掉队列,纵向b个
单调队列
,n^2的求出以(i,j)点为右下角的n*n矩形的最大值和最小值,然后n^2的统计就好~ View Code 1 #include
·
2015-11-13 14:57
2007
BZOJ 1023 [SHOI2008]cactus仙人掌图 DP+
单调队列
这题不能用普通的tarjan来缩点,因为看第一个样例普通tarjan会跪的很惨。。 然后乱yy一个缩点就好了。 桥边和环上的边分开处理,挺容易看懂的。。。 神犇都说这题水,我这弱菜觉得一点都不水,,, View Code 1 #include <iostream> 2 #include <cstring> 3 #i
·
2015-11-13 14:52
2008
Hdu 3410 【
单调队列
】.cpp
题意: 给出一个数组,问你对于第i个数,从最后一个比它大的数到它之间比它小的数中最大的那个数的下标,以及它右边到第一个比它大的数中比它小的数中最大的那一个数的下标<下标从1开始>。 eg:5 2 4 3 1 l 0 0 2 0 0 对5来说左边比它小的数没有,所以是0。对2来
·
2015-11-13 14:10
HDU
裸的
单调队列
-poj-2823-Sliding Window
解题思路: 裸的
单调队列
不解释,用两个队列保存。
·
2015-11-13 13:53
window
poj 3017 Cut the Sequence
id=3017 dp+
单调队列
算法的理论时间复杂度应该还是接近 O(n^2) 但为什么过得还挺快呢 应该是后台数据的问题吧 代码: #include<iostream>
·
2015-11-13 12:44
sequence
HDU 4122 Alice's mooncake shop (
单调队列
/线段树)
nbsp; 题意:好难读懂,读懂了也好难描述,亲们就自己凑合看看题意把 题解:开始计算每个日期到2000/1/1日0点有多少个小时,然后求出每个小时的时候每个的最小单价(包括成本+储存费用) 使用
单调队列
·
2015-11-13 11:45
HDU
【BZOJ】1047: [HAOI2007]理想的正方形(
单调队列
/~二维rmq+树状数组套树状数组)
而不修改的可以用
单调队列
做掉,而且更快,只有O(n^2)。而这货是n^2log^2n的建树。。。虽然查询是log^2n。。。但是建树那里就tle了。。 那么说题解。。。 先orz下,好神。。
·
2015-11-13 11:25
2007
【BZOJ】3314: [Usaco2013 Nov]Crowded Cows(
单调队列
)
http://www.lydsy.com/JudgeOnline/problem.php?id=3314 一眼就是维护一个距离为d的单调递减队列。。。 第一次写。。。。。看了下别人的代码。。。 这一题只需要维护距离为d的最大,然后判断最大的是否大于等于自己高度*2 #include <cstdio> #include <cstring> #include &l
·
2015-11-13 11:41
USACO
小结:单调栈 &
单调队列
概要: 对于维护信息具有单调性的性质或者问题可以转化为具有单调性质的模型的题,我们可以考虑用单调栈或
单调队列
。 技巧及注意: 技巧很多,只要能将问题转化为单调性问题,就好解决了。
·
2015-11-13 10:42
队列
poj 3017 cut the sequence
分析:不好理解,大体上知道了优化的方向,但是需要
单调队列
和平衡树(或堆)来维护。 比较难以理解。 f[i]=min{f[k]+max{a[k+1],.....,a[i]}}.
·
2015-11-13 09:56
sequence
BZOJ 2096([Poi2010]Pilots-
单调队列
-差值)
2096: [Poi2010]Pilots Time Limit: 30 Sec Memory Limit: 162 MB Submit: 190 Solved: 97 [ Submit][ Status] Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行
·
2015-11-13 08:33
poi
HDU4193 Non-negative Partial Sums(
单调队列
)
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <queue> 5 using namespace std; 6 const int INF =1<<27; 7 struct node 8 { 9
·
2015-11-13 07:23
part
POJ 1156
题解:枚举子矩形左右两列,然后记录每行位于这两列之间的最大最小值,建两个
单调队列
,从上往下一次扫描时,判断差异值是否超过了c,以此来维护队列,再加最优化剪枝。
·
2015-11-13 06:41
poj
hdu3415(
单调队列
)
分析:
单调队列
维护在k个数之内的最小值的下标,然后一直扫一遍就行了,只要懂
单调队列
这题就是水题了。 #incl
·
2015-11-13 06:58
HDU
HDU 2844 Coins
不过据说原题要用
单调队列
优化,这个二进制优化就过了。。。
·
2015-11-13 02:01
HDU
hdu 4374
单调队列
优化动态规划
思路:我只想说,while(head<=rear&&que[rear].val+sum[j]-sum[que[rear].pos-1]<=dp[i-1][j]+num[i-1][j])表达式中,我把最后的num[i-1][j]丢了,检查了一整天啊!一整天!我那丢失的时间! 寻找从上一层到该层中最优的转换点,如果该转化点到该点超过t就出队。 #inc
·
2015-11-13 02:44
动态规划
poj 2373
单调队列
优化背包
思路:我们用
单调队列
保存2*b<=i-j<=2*a中的最大值。那么队列头就是最大值,如果队头的标号小于i-2*b的话,就出队,后面的肯定用不到它了。
·
2015-11-13 02:43
poj
hdu 3401
单调队列
优化动态规划
思路: 动态方程很容易想到dp[i][j]=max(dp[i][j],dp[i-w-1][j-k]-k*ap[i],dp[i-w-1][j+k]+k*bp[i]); dp[i][j]表示第i天拥有j个石头的最大价值。 其实每次求得都是最有策略,所有dp[i-w-1]表示的就是i-w-1以前的最优,故不同往前遍历。 那么主要需要优化的是: 对于买石头,容量为j时,维护从j-k到j的转移最大
·
2015-11-13 02:43
动态规划
hdu 2844 多重背包+
单调队列
优化
思路:把价值看做体积,而价值的大小还是其本身,那么只需判断1-m中的每个状态最大是否为自己,是就+1; #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #define Maxn 100010 #define Max(a,b) (a)>
·
2015-11-13 02:40
HDU
poj 2823
单调队列
思路:裸的
单调队列
。
·
2015-11-13 02:39
poj
[NDK 优化多重背包]
单调队列
优化多重背包(转自:http://hi.baidu.com/lydrainbowcat/blog/item/d9fb791fc48ae1e0e0fe0bab.html)  
·
2015-11-13 02:20
NDK
poj 3017
单调队列
优化动态规划
那么我们需要用
单调队列
维护j到i的最大值。
·
2015-11-13 00:23
动态规划
VJ1061迎春舞会之三人组舞
写的三重超时了 加了点
单调队列
的思想 优化了下过了 dp[i][j] 第二组的最右边的人选第J个人 那最左边肯定选第j-1个人 肯定是选相邻的 dp[i][j] = min(
·
2015-11-13 00:56
hdu4374One hundred layer (DP+
单调队列
)
dp[i][j] = max(dp[i-1][g]+sum[i][j]-sum[i][g-1],dp[i][j]) abs(g-j)<=t 不过复杂度是相当高的 所以呢 就出现了个
单调队列
·
2015-11-13 00:46
HDU
HDU 2490 Parade(DPの
单调队列
)(2008 Asia Regional Beijing)
Description Panagola, The Lord of city F likes to parade very much. He always inspects his city in his car and enjoys the welcome of his citizens. City F has a regular road system. It looks like a m
·
2015-11-13 00:40
2008
【HDU 3401 Trade】
单调队列
优化dp
解题思路:先吐槽一下,会
单调队列
但不会dp不行,会dp但不会
单调队列
也不行!!开始
·
2015-11-12 23:34
HDU
POJ3250(Bad Hair Day)
题目链接
单调队列
练习题。 题目大意:n个牛排成一列向右看,牛i能看到牛j的头顶,当且仅当牛j在牛i的右边并且牛i与牛j之间的所有牛均比牛i矮。
·
2015-11-12 22:03
AIR
POJ2823(Sliding Window)
题目链接 经典
单调队列
题。
·
2015-11-12 22:01
window
HDU 3415 Max Sum of Max-K-sub-sequence
将原问题转化为这样 一个问题后,就可以用
单调队列
解决了。
单调队列
确实是一种很
·
2015-11-12 22:39
sequence
SPOJ130_Rent your airplane and make money_
单调队列
DP实现
f[i]=max{ f [ j ] }+p[i],(j的结束时间在i开始时间之前) 若i开始之前没有结束的j,则f[i]=p[i]; 因数据量太大(n<=10000)因此必须优化,这里使用
单调队列
降低时间复杂度
·
2015-11-12 22:23
Make
POJ 1821_Fence
1.题目相关 · 标签:DP、
单调队列
优化 · 题目地址:http://poj.org/problem?
·
2015-11-12 22:30
poj
Magnetic Storms(
单调队列
)
1126 最简单的
单调队列
应用吧
单调队列
是指在一个队列中各个元素单调 递增(或者递减),并且各个元素的下标单调 递增。
·
2015-11-12 21:32
storm
HDU3415:Max Sum of Max-K-sub-sequence(
单调队列
)
Problem Description Given a circle sequence A[1],A[2],A[3]......A[n]. Circle sequence means the left neighbour of A[1] is A[n] , and the right neighbour of A[n] is A[1]. Now your job is to calcula
·
2015-11-12 20:52
sequence
DP斜率优化总结
理论基础见NOI2004年周源的论文《浅谈数形结合思想在信息学竞赛中的应用》,只看了前面的部分,后面
单调队列
对非DP问题的优化没有看 斜率优化其实就是把每个状态看上直角坐标系上离散的点抽象出x,y 表示斜率
·
2015-11-12 18:56
总结
POJ 2823 Sliding Window(
单调队列
)
思路: 1. deq 里面存放的是窗口里面的最小/大值(存在重复元素),是一个
单调队列
2. 当窗口滑动时,比较出窗口的元素与队列首元素比较,如果相等,deq 首元素出队列。
·
2015-11-12 17:05
window
POJ 1742 Coins(多重背包 +
单调队列
优化)
用普通的方法会超时,倍增优化也只是擦边线,最后看到了
单调队列
优化 3. 由于 w == v 时,
单调队列
的特殊性,可以简化思路:sum 为队列里面状态的和,当 !
·
2015-11-12 17:55
poj
POJ 3260 The Fewest Coins(完全背包 + 多重背包 +
单调队列
优化)
题意: John去买东西,东西的价格是T(1 <= T <= 10000),John所在的地方有n(1 <= n <= 100)种的硬币,面值分别为V1, V2, ..., Vn (1 <= Vi <= 120)。John带了C1枚面值为V1的硬币,C2枚面值为V2的硬币,...,Cn枚面值为Vn的硬币(0 <= Ci <= 10000)。售货员那
·
2015-11-12 17:55
poj
zoj 3031 Robotruck(dp +
单调队列
)
题意:有n个垃圾,机器人要按照编号从小到大捡但手中的垃圾不得超过C,求出机器人行走的最短总路程。 做法:设dp[i]为捡第i个垃圾的最短距离,dist[i]为按顺序的总长,dis_ori[i]为i到原点的距离。 不难得出:dp[i] = min{dp[j] + dis_ori[j+1] + distance[j+1,i] + dis_ori[i] } ;
·
2015-11-12 16:47
robot
HDU 3415 Max Sum of Max-K-sub-sequence
题解:
单调队列
维护之前k的最小值,思想是对于每一个入队的新元素,如果队尾元素比其大则一直删减,然后插入新元素,对于队首的元素若与当前枚举两相差超过k则直接删去。
·
2015-11-12 16:38
sequence
单调队列
:temperature
l_i,r_i 1<=n<=1000000一行,表示该段的长度Sample Input 6 6 10 1 5 4 8 2 5 6 8 3 5 Sample Output 4 知识点:递推,
单调队列
·
2015-11-12 15:47
队列
2014 Super Training #2 C Robotruck --
单调队列
优化DP
原题: UVA 1169 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3610 大白书上的原题。 代码: #include <iostream> #include <
·
2015-11-12 14:24
super
HDU 3905 Sleeping(单调优化DP)
这个状态方程神似以前
单调队列
优化DP的转移方程,只不过改成对角线了,而且只需维护队列的队头即可
·
2015-11-12 13:45
sleep
POJ 3017 Cut the Sequence(DP +
单调队列
优化 + 平衡树)
题意: 长度为 n 的数列,要求把这个数列划分为任意块,每块的元素和小于 m,使得所有块的最大值的和最小。 思路: 1. 很明显的一个转移方程是: dp[i] = max(dp[j] + max(a[j+1], a[j+2], ..., a[i])); 其中满足 sum[i] - sum[j] <= M 的 j 都算,这是一个 O(N * N) 的解法。 2. 如果不去优化枚举 j
·
2015-11-12 13:14
sequence
HDOJ 3530 Subsequence(
单调队列
+ 经典应用)
首先要定义两个
单调队列
,一个为窗口范围内单调递减的最大值序列 decq,一个为窗口范围内单调递增最小值序列 incq 2.
·
2015-11-12 13:13
sequence
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他