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
---单调队列
BZOJ1023:[SHOI2008]cactus仙人掌图(圆方树,DP,
单调队列
)
Description如果某个无向连通图的任意一条边至多只出现在一条简单回路(simplecycle)里,我们就称这张图为仙人掌图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。举例来说,上面的第一个例子是一张仙人图,而第二个不是——注意到它有三条简单回路:(4,3,2,1,6,5,4)、(7,8,9,10,2,3,7)以及(4,3,7,8,9,10,2,1,6,5,4),
weixin_33794672
·
2020-09-13 17:19
bzoj1023: [SHOI2008]cactus仙人掌图
1023思路:类似树形DP记录一个f[i]表示最远(因为有环,所以这个定义是有一些限制条件的)先用点双缩点,每个环的信息可以挂到最高点上树上的差不多对于环上的,从一边扫过去,因为dis(i,j)有单调性,用
单调队列
搞一搞即可更详细的题解
weixin_30477293
·
2020-09-13 16:24
[仙人掌直径
单调队列
DP] BZOJ 1023 [SHOI2008]cactus仙人掌图
题解:http://z55250825.blog.163.com/blog/static/150230809201412793151890/http://hzwer.com/4645.html#include#include#includeusingnamespacestd;typedeflonglongll;inlinecharnc(){staticcharbuf[100000],*p1=buf
里阿奴摩西
·
2020-09-13 16:24
仙人掌
DP
单调队列
bzoj1023 [SHOI2008]cactus仙人掌图 树形DP+
单调队列
大概能想到DP求解,但是
单调队列
真心被震惊到了==设f[x],表示以x为起点(从上往下)的最长路径,对于树边/非树边分别转移,树边当让直接转移了,主要是非树边,非树边就是环上边,我只用环上的点更新f[x
Transcendence_magia
·
2020-09-13 16:03
bzoj
DP
神奇脑洞题
单调队列
树形DP
BZOJ1023: [SHOI2008]cactus仙人掌图(
单调队列
优化DP)
传送门题意:求一颗仙人掌的直径。题解:DP。首先建出图的DFS树。因为是仙人掌图,所以每个环必定有一个dfs序最小的点,连接着若干条后向边和树边,表示环上的边或者割边。记录f[i]表示dfs树上以i为根的子树(子图)中最长链。考虑DP:1.对于一条割边,对答案的影响为f[i]+f[v]+1,之后直接f[i]=max{f[i],f[v]+1}。2.对于环边先不处理,等到dfs完所有子树后重新枚举边查
DZYO
·
2020-09-13 16:03
DP及DP优化
洛谷 P4244 [SHOI2008]仙人掌图 II(圆方树+
单调队列
)
题目链接题意求仙人掌直径思路圆方树,树形dp,dp[u]表示以u为根节点最长链建圆方树,将点双判断仙人掌改改就好原点到原点,正常dp原点到方点,正常dp方点到原点,圆点各点加上方点父亲节点应该是一个环,然后对这个环用基环树求直径(
单调队列
ToRe.
·
2020-09-13 15:27
圆方树
栈
队列
BZOJ 1023 [SHOI2008]cactus仙人掌图:圆方树+
单调队列
DP
题目传送门题意:给出一个仙人掌图,边权都为1,求其直径。仙人掌图:无向图的每条边至多存在于一个简单环中。仙人掌图直径:Max(dis(u,v))1#definepb(x)push_back(x)usingnamespacestd;constintmaxn=1e5+100;vectorE1[maxn],ET[2*maxn],LenT[2*maxn];intdfn[maxn],fa[2*maxn],l
calabash_boy
·
2020-09-13 15:10
仙人掌
BZOJ
POJ
洛谷
【DP】 BZOJ 1023: [SHOI2008]cactus仙人掌图
分成环形dp和树形dp,然后环形dp用
单调队列
做。。。。
yysys
·
2020-09-13 15:05
DP
POJ--3567[Cactus Reloaded] 求仙人掌树的直径
(3):缩点之前还要对W[u]大于1的那些点进行两两组合更新答案*/PS.Discuss里说要用树形DP+
单调队列
优化,表
__简言
·
2020-09-13 15:13
POJ
图论
BZOJ 1023 SHOI2008 cactus仙人掌图 仙人掌DP
以及每个点双中有哪些点有些点双可能不是环,我们可以补上一条边看成环,无伤大雅每次DP时,首先枚举环的根节点以外的点,对这些点所在的其它点双DP一遍然后令f[x]为以x为根的子仙人掌的所有点和x之间的最大距离然后我们将环倍增用
单调队列
来更新答案保证决策点和被更新点的距离不超过环长度的一半
PoPoQQQ
·
2020-09-13 15:07
BZOJ
Tarjan
单调队列
树形DP
【题解】SHOI2008仙人掌图
但没有发现\(n^{2}\)的dp明显是一个可以
单调队列
优化的dp。所以在遇上难解决的问题的时候,一定要融会贯通地思考。有一个细节:将圆复制一下可以去掉\(max\)造成的影响,dp就十分方便了
weixin_30583563
·
2020-09-13 14:07
BZOJ1023: [SHOI2008]cactus仙人掌图
建出圆方树像普通找直径那样dp一下环上的dp要维护一个
单调队列
code:#include#include#include#include#include#include#include#include#
L_0_Forever_LF
·
2020-09-13 14:02
BZOJ
DP
仙人掌
2021秋招-算法-滑动窗口算法框架
算法-滑动窗口算法框架大佬整理1/3-我写了套框架,把滑动窗口算法变成了默写题大佬整理2/3-滑动窗口算法解决子串问题大佬整理2/3-
单调队列
解决滑动窗口问题框架整理:关于双指针的快慢指针和左右指针的用法
LBJ_King2020
·
2020-09-13 11:12
动态规划优化
单调队列
简述函数f[i],转移如下:f[i]=min(g[j])其中g[j]是关于j或f[j]的一个函数,且b[i]≤j#includeusingnamespacestd;constintmaxn=105
inrence
·
2020-09-13 08:33
Algorithms
提高组小目标
只有几天noip了努力一把定几个小目标1栈,单调栈洛谷P1886Accepted洛谷P2032Accepted洛谷P1638Accepted洛谷P1725Acceptedpoj25592队列,
单调队列
洛谷
maorui00100
·
2020-09-13 05:49
私密
我的程序
2019年5月做题记录
洛谷P2032(
单调队列
)洛谷P1638(尺取法)洛谷P1714(尺取法)洛谷P2947(
单调队列
)洛谷P1886(
单调队列
)洛谷P1901(
单调队列
)洛谷P3805(Manacher算法)洛谷P1217
FairyTail0423
·
2020-09-13 04:59
单调队列
专题
对于
单调队列
,我们这样子来定义:1、维护区间最值2、去除冗杂状态如上题,区间中的两个元素a[i],a[j](假设现在再求最大值)若j>i且a[j]>=a[i],a[j]比a[i]还大而且还在后面(目前a
M__HD
·
2020-09-12 22:43
Java后端面试真题+经验分享
5、回溯算法6、二叉树、前中后虚(图考察的很少,只有笔试偶尔遇到)7、DFS、BFS算法8、单调栈、
单调队列
二、操作系统1
耶亚希
·
2020-09-12 14:15
Java
Java面试
Java后端
java
后端
单调队列
优化多重背包(pascal及翻译过去的C代码)
我最开始接触的相对高级的DP算法是从背包问题开始的。那是上学期新生赛的事,当时,在第二轮选拔赛中,有一道可能算是贪心算法的题,但是在我眼里却觉得这是一道背包问题。于是,我求助我们学校的大牛,问一下有什么关于背包算法的,而且比较容易让我弄懂的资料,最终他介绍我看《背包九讲》。那时,甚至到现在,我只会基础的0-1背包,完全背包,多重背包的O(NClogC)算法……一直卡着我的是多重背包的O(NC)算法
weixin_34415923
·
2020-09-12 07:35
Atcoder AGC007E : Shik and Travel(DP)
我们可以对一个点维护一个子树所有这样的状态的
单调队列
,合并后显然大小为较小子树的大小*2。时间复杂度O(nlog2n)O(nlog2n)。
DZYO
·
2020-09-12 06:39
DP及DP优化
二分与三分
2015-2016 ACM-ICPC Southwestern Europe Regional Contest (SWERC 15) C题Canvas Painting(
单调队列
)
题目大意:给你n个长度为ai的数字,要求算出来把他们分成不同颜色需要涂最小数目,涂色的方式是:选择一个颜色C然后选一个数量F,数量F的要求是小于颜色C所拥有的数量,将前F个涂成一种颜色,剩余颜色为C的涂成另外一种颜色解题思路:一般来说,要想让其花费最少,需要尽可能的多改动小的,但是顺着想其实想不出来,应该倒着想,结果是他们都不一样,我现在希望能够把他们变成一样的,这样的话就是一个优先队列的问题了,
丶先森
·
2020-09-12 06:33
ACM算法
ACM-ICPC真题
模板题
动态规划之斜率优化
其实斜率优化也是用的
单调队列
来的。一般的例如:dp[i]=min(dp[j]+f(j))(i-kk,并且斜率满足上面的不等式的话,那么j就比k优。然后接下来要怎样呢,
单调队列
要何用。
xiang_yu_pai
·
2020-09-11 23:34
动态规划
Codeforces291div2
每个董存瑞可以针对任意一个属性使所有碉堡的这个属性-1问最多炸多长的连续碉堡扫描线扫过去对于每个m
单调队列
搞搞E:n叉树知
loriex
·
2020-09-11 04:48
比赛
多重背包O(N*V)算法详解(——使用
单调队列
)
多重背包O(N*V)算法详解(——使用
单调队列
)多重背包问题:有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件。怎样装才能使背包内的物品总价值最大?
weixin_34417200
·
2020-09-10 20:27
单调栈与
单调队列
算法详解及LeetCode经典题目(Python)
单调栈单调栈:栈内的元素按照某种方式排序下单调递增或单调递减,如果新入栈的元素破坏的单调性,就弹出栈内元素,直到满足单调性。单调栈分为单调递增栈和单调递减栈:单调递增栈:栈中数据出栈的序列为单调递减序列;单调递减栈:栈中数据出栈的序列为单调递增序列。维护单调栈维护单调递增栈:遍历数组中每一个元素,执行入栈:每次入栈前先检验栈顶元素和进栈元素的大小。如果栈空或进栈元素大于栈顶元素则直接入栈;如果进栈
一只干巴巴的海绵
·
2020-09-10 16:53
数据结构
poj 1742 Coins
poj1742CoinsAuthor:UnimenDate:14/05/201110:14Description:楼天成男人八题之一多重背包*//*解题报告:多重背包题,为体积与价值相等的特殊情况1、可以采有计数的方法代替
单调队列
将时间复杂度降到
Unimen
·
2020-09-10 12:15
算法/数据结构
[POJ1742] Coins [多重背包]
写得比较优秀的二进制拆分+分数据范围处理、多重背包可行性、
单调队列
优化。第一种方法。
*éphia
·
2020-09-10 11:46
背包dp
dp
单调栈总结
单调栈总结目录定义性质功能例题HDU1506HDU5033PKU2796PKU3250定义性质下面引自百度百科单调递增或单调减的栈,跟
单调队列
差不多,但是只用到它的一端,利用它可以用来解决一些ACM/ICPC
新熊君
·
2020-08-26 15:17
[模板]
单调队列
与单调栈
目录
单调队列
:滑动窗口(算是重要的板题了)单调栈:最大矩形面积总结首先给一道板题:滑动窗口(十分重要,基本后面的复杂题由此题思路进行优化)题目描述给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端
C20200905_hc
·
2020-08-26 15:37
DP
数据结构
单调栈
有了
单调队列
的学习和理解自然不难理解单调栈.维护操作:如果维护单调递增栈,若带插入元素小于栈顶元素则将栈顶元素弹出,直至栈顶元素小于当前带插入元素,将其入栈(相反操作则维护单调递减栈).性质:维护区间最近大于关系
HD-CHW
·
2020-08-26 15:34
数据结构与算法
LeetCode Next Greater Element I & II && III
但是,这种又和位置有关又和大小有关的要求,我想到了
单调队列
和单调栈。为什么呢?对于一个数,当从右向左开始遍历
L.Jeremy
·
2020-08-26 13:00
LeetCode题解
算法与数据结构
POJ2823 滑动窗口中元素的最值(
单调队列
)
这个题是
单调队列
的入门题。求最大值:建立一个单调递减队列,元素从左到右依次入队,入队之前必须从队列尾部开始删除那些比当前入队元素小或者相等的元素,直到遇到一个比当前入队元素大的元素,或者队列为空为止。
Onlyan
·
2020-08-26 12:38
ACM解题报告
单调栈
单调栈与
单调队列
很相似。首先栈是后进先出的,单调性指的是严格的递增或者递减。单调栈有以下两个性质:1、若是单调递增栈,则从栈顶到栈底的元素是严格递增的。
Onlyan
·
2020-08-26 12:38
数据结构
单调队列
、单调栈(第一周DIY)
LargestRectangleinaHistogramTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):4087AcceptedSubmission(s):1218ProblemDescriptionAhistogramisapolygoncomposedofaseq
shuangde800
·
2020-08-26 11:17
解题报告
单调栈总结
原博主博客单调栈总结目录定义性质功能定义性质下面引自百度百科单调递增或单调减的栈,跟
单调队列
差不多,但是只用到它的一端,利用它可以用来解决一些ACM/ICPC和OI的题目,如RQNOJ的诺诺的队列等。
你TB了
·
2020-08-26 11:38
单调栈
栈和队列(手写)
其实已经发过一次栈和队列了,不过那个是直接利用STL的用法,这里写一写利用数组完成的栈和队列操作,顺便写一写单调栈和
单调队列
的操作和一般用途。
Z_Mo_Cheng
·
2020-08-25 06:06
单调栈以及应用(含leetCode第42题接雨水代码)
与
单调队列
相比,其只在一端进行进出。递增栈是栈顶到栈底依次递增。插入过程中,保持栈内一直是单调性,将不满足的元素pop出栈,直接丢弃。
生而知之者为妖
·
2020-08-25 04:31
数据结构
HDU 1059 Dividing
所以必定得优化,但是
单调队列
优化的算法不会,只好把用二进制优化的多重背包模板摸过去..下面蓝色字部分来自.其中红色部分是算法优化核心..转化为01背包问题另一种好
muximuxi525
·
2020-08-25 03:44
DP
HDU解题报告
【洛谷P4954】Tower of Hay 干草塔【
单调队列
dp】
题目大意:题目链接:https://www.luogu.org/problem/P4954为了调整电灯亮度,贝西要用干草包堆出一座塔,然后爬到牛棚顶去把灯泡换掉。干草包会从传送带上运来,共会出现N包干草,第i包干草的宽度是Wi,高度和长度统一为1。干草塔要从底层开始铺建。贝西会选择最先送来的若干包干草,堆在地上作为第一层,然后再把紧接着送来的几包干草包放在第二层,再铺建第三层……重复这个过程,一直
SSL_ZYC
·
2020-08-25 02:35
单调队列优化dp
算法-单调栈问题合集
算法-滑动窗口最大值则是维护了一个
单调队列
来解决问题借助于单调栈或者
单调队列
的特点,我们可以优化一些算法的时间复杂度,这里再给出几个
亦泽同学
·
2020-08-25 01:23
数据结构与算法分析
cf1208E Let Them Slide
单调队列
,st表,线段树都可以维护数组的区间最值。最后答案差分输出。
复杂的哈皮狗
·
2020-08-24 23:43
数据结构
NOIP 2017 考点总结及复习规划
一、数据结构初级数据结构1.链表,双向链表2.队列,
单调队列
,双端队列,栈,单调栈3.堆基础数据结构1.并查集与带权并查集2.hash表3.树状数组,线段树,线段树合并*4.主席树**5.平衡树*6.左偏树
onepointo
·
2020-08-24 22:59
noip
单调队列
入门——POJ - 2823,HDU - 3530,HDU - 2430
单调队列
,顾名思义,维护的队列中的数据是呈单调递增或者单调递减的,在维护
单调队列
时,例如单调递增队列,当有新的数据入队,则从队尾开始,把所有大于该数的项目pop出队列,保证了这个数据入队后整个队列依旧是单调递增的
Sega_hsj
·
2020-08-24 22:35
数据结构
树形DPpoj3162
求出最远距离后就是两个指针一起跑,然后要得到这两个指针区间的最大值和最小值,可以用线段树也可以用
单调队列
,我用的
单调队列
,代码如下#in
as604412059
·
2020-08-24 21:45
树形dp
【算法入门】
单调队列
优化动态规划:[RomaniaOI2002]Fence
ProblemDescriptionAteamofk(1#include#include#includeusingnamespacestd;structnode{intl,p,s;};nodea[200];intN,K,t,h;intL[200],P[200],S[200],f[200][50000],q[50000];inlineboolcmp(nodea,nodeb){if(a.s>N>>K;
pigzhouyb
·
2020-08-24 21:44
动态规划DP
单调队列
的应用
一、描述给定一个长度为n(n1,放入下标后的到que{0,1}.第三个元素-1-3.得到que{3.4}....#include#includeusingnamespacestd;intarr[1000000];intque[1000000];inthead=0,rear=-1;intempty(){returnrear=head)rear--;//找到新插入元素的位置,并清除大于该元素的旧元素q
HuanTongH
·
2020-08-24 21:11
数据结构
[简单DP] 最长公共子序列/LCS
菜至极只会n2n^2n2考虑转化这是个排列,就可以搞事情把一个数列的数变成下标,相应的替换另一个数列里的数这样不会改变两个数列LCS的本质转化后发现只需要求另一个数列的LIS(最长上升子序列)了LIS当然用
单调队列
优化优秀
锑元素使者
·
2020-08-24 21:15
#
简单DP
2017 杭电多校联赛第二场 1003 Maximum Sequence(
单调队列
)HDU 6047
MaximumSequenceTimeLimit:4000/2000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):0AcceptedSubmission(s):0ProblemDescriptionStephisextremelyobsessedwith“sequenceproblems”thatare
咿呀而已
·
2020-08-24 11:34
2017多校联赛
比赛
2017多校联赛
杭电
单调栈
单调队列
stl及手写实现,附例题
单调队列
:有单调性的队列(单调递增或递减),相比普通队列不同在于可以在队尾进行pop操作特点:可以快速取出最大值或最小值(队首元素)严格单调序列:a1deque是双端队列,既有队列的性质也有栈的性质。
Dragoncard
·
2020-08-24 11:43
队列
队列
数据结构
hdu5289 Assignment(极差<k的子区间数量,单调性证明+双指针+
单调队列
)
问有多少个子区间,满足该子区间的最大值和最小值的差值=k,ma()和mi()需要rmq数据结构.解法3:枚举r,指针维护l,指针向右移动得条件是ma(l,r)-mi(l,r)>=k,[l,r]的ma和mi用两个
单调队列
维护解法
这有点难啊
·
2020-08-24 11:17
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他