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
——dfs序
ACM/CCPC国内赛题型
hdu6182-61936182暴力+快速幂6183线段树6184无向图三元环计数6185矩阵快速幂+高斯消元解递推方程6186二进制运算6187并查集最大生成树6188贪心算法6189找规律6191
dfs
微白城市
·
2020-09-12 00:53
树形dp总结
2.如果设出状态,但不好转移,可以考虑从底向上的top序或者
dfs序
来转移;3.如果这样设不出状态,就考虑可以反向计算对答案的贡献。
逗番茄
·
2020-09-11 06:57
dp
hdu3974——
dfs序
+线段树
题目链接:https://vjudge.net/problem/HDU-3974#author=dawn_LLDescription有一家公司有N个员工(从1到N),公司里每个员工都有一个直接的老板(除了整个公司的领导)。如果你是某人的直接老板,那个人就是你的下属,他的所有下属也都是你的下属。如果你是没有人的老板,那么你就没有下属,没有直接老板的员工就是整个公司的领导,也就是说N个员工构成了一棵树
木每立兄豪
·
2020-09-10 10:30
线段树
信息竞赛进阶指南--搜索相关(模板)
/深度优先遍历框架voiddfs(intx){v[x]=1;for(inti=head[x];i;i=next[i]){inty=ver[i];if(v[y])continue;dfs(y);}}//
DFS
风骨散人Chiam
·
2020-08-26 15:26
【算法】动态规划+“背包九讲”原理超详细讲解+常见dp问题(9种)总结
P1776宝物筛选(多重背包)(4)二维费用背包P1507NASA的食物计划(二维费用背包)(5)混合背包P1833樱花(混合背包)(6)分组背包P1757通天之分组背包(分组背包)(7)树形背包1.
dfs
繁凡さん
·
2020-08-25 05:20
【算法总结】合集
#
九种背包合集
割点——tarjan算法在无向图中的应用(1)
为了求割点,我们引入几个概念:(1)树边:指在dfs时被经过的边(2)回边:即非树边(3)dfs数组:即
dfs序
(4)low数组:每个点的子树内的点通过回边能到达的
dfs序
最
lbrony
·
2020-08-25 04:50
算法
洛谷3379最近公共祖先模板(
dfs序
)
如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入输出格式输入格式:第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。输出格式:输出包含M行,每行包含一个正整数,依次为每一个
gaojunonly1
·
2020-08-25 03:59
洛谷
各种LCA的模板
好久没有写博客了,联赛前一天来写一点关于LCA的各种模板极力推荐第四种方法1.Sparce_Table算法把树按照
DFS序
重新编号并求出
DFS序
列后,利用序列中两点编号之间的最小值即为LCA的性质,通过
Sunshine_cfbsl
·
2020-08-25 02:42
树
LCA
洛谷 - P4197 Peaks(Kruskal重构树+
dfs序
+主席树)
题目链接:点击查看题目大意:有n座山峰,每座山峰有他的高度h[i],有些山峰之间有双向道路相连,共m条路径,每条路径有一个困难值,这个值越大表示越难走。现在有q组询问,每组询问询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出−1。题目分析:因为有困难值的限制,所以可以对整个图跑克鲁斯卡尔重构树,如果对点v来说,只能走小于等于x的路径,可以树上倍增找到权值小于等于
Frozen_Guardian
·
2020-08-24 23:15
数据结构
主席树
dfs序
线段树详解、常见应用与拓展
索引一、定义二、基本结构三、常见应用求区间和求区间最大元素四、拓展离散化多lazy标记
dfs序
空间优化区间合并扫描线主席树RMQzkw一、定义线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间
未已优
·
2020-08-24 22:16
线段树
codeforces980e(倍增、贪心|| 树的
dfs序
差分+树状数组)
E.TheNumberGamestimelimitpertest3secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputThenationofPanelholdsanannualshowcalledTheNumberGames,whereeachdistrictinthenationwillberepr
yyPurpose_forever
·
2020-08-24 22:41
贪心
数据结构
[luogu2982][USACO10FEB]慢下来Slowing down(树状数组+
dfs序
)
题目描述EverydayeachofFarmerJohn'sN(12#include3#include4typedefstruct{5intto,nxt;6}edge;7edgegra[200010];8inthead[100010],num=0;9intbeg[100010],end[100010],cnt=0;10intbit[100010],n;11inlineintadd(intfrm,i
banjie8476
·
2020-08-24 19:28
[USACO10FEB]慢下来Slowing down(线段树+
dfs序
)
题目传送门题解这道题还是比较好的;我们先考虑树形成一条链的情况,那就成了单点修改区间查询操作,都是线段树的基本操作;那么我们就使用
dfs序
的方法,把它变成一条链,那么某棵子树的区间就是dfn[i]+tot
A_Comme_Amour
·
2020-08-24 19:23
线段树
dfs序
CodeForces 1076E Vasya and a Tree(树上差分+树状数组)
思路:如果是对节点v的子树进行修改,那么问题可以用
dfs序
转化为序列上的问题,但是这题是对距离为d的进行修改,那么
yiqzq
·
2020-08-24 11:33
ACM_数据结构
Codeforces 570D Tree Requests
思路两种思路,
dfs序
+树状数组或dsuontree。
dfs序
+树状数组我们可以跑一遍
dfs序
,这样子树在
dfs序
中连续。dfs时同时处理出距根所有距离的节点。
xzxxzx401
·
2020-08-24 11:46
dsu-on-tre
2017暑假
数据结构
线段树
Water Tree 【
dfs序
+线段树】
方法1把树按照
dfs序
展开,用线段树维护子树和,设0表示empty,1表示filled操作1:若子树v存在0节点,则把v的父亲【in[fa],out[fa]】更新成0。
永远热血沸腾
·
2020-08-24 11:56
codeforces
数据结构
CF165D Beard Graph(
dfs序
+树状数组)
这题如果能维护每个点到根节点路径上的白边数量,就可以用lca直接算,怎么维护呢把点按
dfs序
排序,每个点存它到根节点路径上白边数量,当边的颜色变化时,就把以该边下端点为根的子树内的值整体加一或减一,也就是在按
DD(XYX)
·
2020-08-24 11:11
树论
线段树
CF593D Happy Tree Party(不用树剖)
>=2的xi,暴力除,当发现y=0时就停止于是我们维护每个点向上走一直走到根最近的一条数字大于1的边,存下该边的下端点,每当有一条边数字大于1,就要更新它的下端点子树中每一个的最近边,这个可以把点按照
dfs
DD(XYX)
·
2020-08-24 11:11
树论
线段树
Codeforces - 375D (
dfs序
+ 莫队 )
思路:
dfs序
上暴力莫队。注意
dfs序
和原节点编号的转换,用dfn和rev来保存。具体实现的时候可以直接用via[i]表示第i个
才子词人自是白衣卿相
·
2020-08-24 11:35
其他补题
CodeForces - 570D Tree Requests (树上启发式合并)
解题思路:寒假训练赛的一个题目,当时也不会,补题的时候用
dfs序
+二分写的。后来发现能用启发式合并写。当时二分差点挂了,果然树上启发式合并跑的飞快。。。。
_leon1999
·
2020-08-24 11:45
树上启发式合并
2016 Multi-University Training Contest 4 1007 (hdu 5770)
好吧这么考虑,首先利用
dfs序
,把树转到序列上。然后对于每种情况,可以进行分类讨论。令lca=LCA(A,B),
unicornt_
·
2020-08-24 10:14
多校训练
图论
——dfs序
dfs序
多校
扫描线
*Codeforces Round #316 (Div. 2)- D. Tree Requests (dfs+二分)
思路:dfs,求出每个点的
dfs序
,以及记录每个深度的节点的字母的序。字母数量的奇数个不超过1,则可以组成回文序列。二分求出询问节点对应的区间,判断是否可以。AC.
HonniLin
·
2020-08-24 10:20
二分
CodeForces570D - Tree Requests 【
dfs序
】
#include#include#include#include#include#includeusingnamespacestd;#definemaxn500010intn,m,t,d,tmp;vectore[maxn],pos[maxn],sta[maxn];chars[maxn];intidx,in[maxn],out[maxn],st,ed;voiddfs(intu,intdep){in[
真·skysys
·
2020-08-24 09:55
牛客算法周周练15 解题报告(ABD)
牛客算法周周练15A-数列下标(单调栈)牛客算法周周练15B-可持久化动态图上树状数组维护01背包(贪心)牛客算法周周练15D-树上求和(
DFS序
+线段树维护平方和)比赛AC了两题,然后A题跑暴力侥幸过了
_Hayasaka
·
2020-08-24 07:30
赛后报告
FZU - 2277(树链剖分或
dfs序
+线段树)
Thereisarootedtreewithnnodes,numberfrom1-n.Root’snumberis1.Eachnodehasavalueai.Initiallyallthenode’svalueis0.Wehaveqoperations.Therearetwokindsofoperations.1vxk:a[v]+=x,a[v’]+=x-k(v’ischildofv),a[v’’]
闻道-问道
·
2020-08-24 07:35
线段树
图论
【KD树】BZOJ 4154 [Ipsc2015]Generating Synergy
n≤105n\leq10^5n≤105【解题思路】将dfs\text{dfs}
dfs序
作为一维,深度作为一维,直接上KD\text{KD}KD树即可。
Dream_Lolita
·
2020-08-24 07:22
数据结构-KD树
Tree Requests]
DFS序
、离线、二分
[Codeforces#316D.TreeRequests]
DFS序
、离线、二分1.题目链接[Codeforces#316D.TreeRequests]2.题意描述给定一棵N个节点的树,每个节点对应26
Xingw-Xiong
·
2020-08-24 07:49
ACM____数据结构
ACM____二分/三分
codeforces 375D Tree and Queries
利用
dfs序
将树转到序列上后,就可以套用莫队算法了。维护区间时需要维护每种颜色的个数cnti,同时要维护颜色大于等于i的颜色个数sumi。
unicornt_
·
2020-08-24 07:30
codeforces
图论
——dfs序
莫队算法
Tree Requests (
DFS序
)
题目地址:http://codeforces.com/contest/570/problem/D比赛的时候实在没想到
DFS序
,。。
Aerolite坠落
·
2020-08-24 06:53
DFS
cf#963B Destruction of a Tree(贪心
dfs序
)
算法思路将数dfs排序,每次先消除度数为偶数的
dfs序
大的节点。若先消除根节点,其叶子节点要是无法消除就没有办法了。(贪心消除最靠近叶子的节点。因为如果最靠近叶子的偶数度节
weiers
·
2020-08-24 06:46
【JZOJ5336】【NOIP2017提高A组模拟8.24】提米树
我们发现一对节点(x,y)(x的
dfs序
小于y的
dfs序
)可以形成相邻叶子当且仅当x处于其lca的儿子u的右链上,y处于lca的儿子v的左链上,且u,v相邻u在v的左方。
dance_in_the_dark
·
2020-08-23 05:40
GDOI
树
dp
机智题
多叉树的树形背包常见建模方法
这个技巧其实也有两种具体的方法:树的孩子兄弟表示法与
dfs序
法。1.树的孩子兄弟表示法。
I_AM_HelloWord
·
2020-08-23 02:05
经典问题学习笔记
常用算法讲解
BZOJ 2434 ac自动机fail树+
dfs序
+树状数组+离线处理
对于一个询问,我们只需要把root到y这部分点,用
dfs序
插入树状数组,随后询问x的子树即可。对于多个
meopass
·
2020-08-23 02:47
数据结构
ac自动机
HDU - 4117 GRE Words (AC自动机+Fail树+线段树+
DFS序
+DP)
GREWordsProblemDescriptionRecentlyGeorgeispreparingfortheGraduateRecordExaminations(GREforshort).Obviouslythemostimportantthingisrecitingthewords.NowGeorgeisworkingonawordlistcontainingNwords.Hehassop
LP_Cong
·
2020-08-23 01:03
————ACM相关————
——字符串处理——
ACM
-
AC自动机
——数据结构——
ACM
-
线段树
bzoj3881 [Coci2015]Divljak(AC自动机+fail树+
dfs序
+树状数组+树链剖分)
bzoj3881[Coci2015]Divljak原题地址:http://www.lydsy.com/JudgeOnline/problem.php?id=3881题意:Alice有n个字符串S1,S2...SnS1,S2...Sn,Bob有一个字符串集合T,一开始集合是空的。接下来会发生q个操作,操作有两种形式:“1P”,Bob往自己的集合里添加了一个字符串P。“2x”,Alice询问Bob,集
Bfk_
·
2020-08-23 00:44
&
图论
树状数组
AC自动机
fail树
题解
思维题
bzoj
树链剖分
DFS序
列、割点与破圈法
DFS序
、割点与破圈法概述
DFS序
列是图论中的基础,因为
DFS序
的变形与延伸算法占有图论的基础。割点与破圈则是DFS延伸的算法或概念。
nbtaoyc
·
2020-08-23 00:21
算法
图论
MST
DFS
割点与割边
GDOI2017 AFOING...
那么找询问子树对应
dfs序
中包含的最小的区间就可以了。一开始想到用主席树维护,但是仔细想想好像有问题,最后
YxuanwKeith
·
2020-08-22 01:20
总结
树形结构转线性结构的方法(帖子汇总)
现在动态更新一个点的权值,叫你查询一个点对路径上所有点权的和,这种问题和图论的TreeProblem非常类似,我们可以利用树形结构转线性结构的方法来处理,我们考虑随便取一个点,比如说1,作为根,这样我们就可以得到一个
DFS
lyhypacm
·
2020-08-21 19:05
数据结构
树形结构转换线性结构的方法(lca倍增)
这个讲的还不错的,整理的很全http://blog.csdn.net/lyhypacm/article/details/6734748hdu3966
dfs序
是针对某条路径,利用根到路径#include#
百里屠猪
·
2020-08-21 19:02
ACM
数据结构
ACM
图论
利用
DFS序
求树中以某点为根节点的子树
因为栈好处理intin[100];//进入的时间戳intout[100];//出去的时间戳intnum[200];//存放树
dfs序
列||树的前序遍历intt=0;//记录序列的时间voiddfs(intx
湿毒清胶囊
·
2020-08-21 14:55
DFS
jzoj5336 【NOIP2017提高A组模拟8.24】提米树 (
dfs序
dp,奇异姿势dp)
(前提是他子树不选)比赛的时候有一种60分的n^2logn做法,就是在
dfs序
上直接dp.但是正解比较奇怪,先画颗树出来看看,就会发现根到真·叶子的路径上有且只有一个被选为叶子。
jokerwyt
·
2020-08-21 00:24
题解
DDDDDppppp
树上问题
BZOJ 3439: Kpm的MC密码 【哈希】
题目传送门题目分析:本蒟蒻的想法:trie树+(
dfs序
+主席树||线段树合并)dalao学长的想法:直接哈希把每个串的所有后缀的个数和是O(n)的。直接把每个后缀都插入哈希表里。
Master.Yi
·
2020-08-20 22:33
哈希
HDU5293(SummerTrainingDay13-B Tree DP + 树状数组 +
dfs序
)
TreechainproblemTimeLimit:6000/3000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):1798AcceptedSubmission(s):585ProblemDescriptionCocohasatree,whoseverticesareconvenientlylabele
weixin_30347335
·
2020-08-20 12:20
Tree Cutting HDU - 5909 (树形dp + 树分治)
首先先确定一点,同一子树上的
dfs序
一定是连续的,这也就给了我们一个将树上的dp映射到普通dp上(普通dp我们研究的元素之间通常是连续的)。
untilyouydc
·
2020-08-20 11:26
树分治
树形DP
hdu 5293 Tree chain problem【树状dp+
dfs序
+树状数组】
题目大意:在一棵树中,给出若干条链和链的权值,求选取不相交的链使得权值和最大。解题思路:树形DP。设dp[i]表示i的子树下的最优权值和,sum[i]表示不考虑i点时子树的最优权值和,即(j是i的儿子),显然dp[i]>=sum[i]。那么问题是考虑i点时dp[i]的值是多少,假设有一条链通过i,且端点a和b都在i的子树里,即LCA(a,b)=i,如果考虑加上这条链的权值,那么a->i,b->i的
Neo__Z
·
2020-08-20 09:21
树形dp
hdu
hdu_5293_Tree chain problem(
DFS序
+树形DP+LCA)
pid=5293被这题打蹦了,看着题解写的,很是爆炸,确实想不到,我用的
DFS序
+LCA+树形DP,当然也可以写树剖,不过这里
DFS序
更简单,因为都是对点到根的操作#include#include#include
bin_gege
·
2020-08-20 09:28
hdu
数据结构
dp
LCA
HDU 5293 Tree chain problem 树形DP+LCA+
DFS序
+树状数组
TreechainproblemTimeLimit:6000/3000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)ProblemDescriptionCocohasatree,whoseverticesareconvenientlylabeledby1,2,…,n.Therearemchainonthetree,Eachchainhasa
jiayuzun
·
2020-08-20 08:13
noi知识点
spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树树上倍增(LCA)树的直径、树的重心
dfs
weixin_38166931
·
2020-08-20 04:45
考点1
spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树树上倍增(LCA)树的直径、树的重心
dfs
weixin_34144848
·
2020-08-20 04:07
POJ3321 Apple tree【树状数组】
思路首先了解一下
dfs序
对于棵树进行dfsdfsdfs遍历,并记录每一个点的dfsdfs
dfs序
号st[i]st[i]st[i],在一个节点的所有儿子都被遍历过后,记录当前en[i]en[i]en[i]
Jackma_mayichao
·
2020-08-20 03:10
题解
树状数组
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他