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序
Tree Requests (
DFS序
)
题目地址:http://codeforces.com/contest/570/problem/D比赛的时候实在没想到
DFS序
,。。
u013013910
·
2015-08-17 10:00
编程
ACM
DFS
算法与数据结构
Codeforces Round #316 (Div. 2) D
直接把询问离线,按照
dfs序
求解即可。这里有一些技巧,比如,如果一个串是回文,它最多会有1个字符的个数是奇数,其他是偶数。所以我们可以把26个小写字母的奇偶性压成一个int来处理。
squee_spoon
·
2015-08-14 19:00
离线
HDU5274.Dylans loves tree
我们可以很经典地直接使用线段树或树状数组维护
dfs序
。有一个很强的trick就
acm_fighting
·
2015-08-10 16:00
hdu某道题
题目大意:给出一棵树,求以i为根节点的子树中有多少个节点标号比i小得到
dfs序
之后,用树状数组求第i个数之前比第i个数小的数的个数ans[i]=ed[i]-st[i];#include #include
zz_ylolita
·
2015-08-09 23:00
C++
DFS
树状数组
POJ 3321 Apple Tree(
dfs序
+BIT)
Description给你一颗树,最初每个节点上都有一个苹果,有两种操作:修改(即修改某一个节点,修改时这一个节点苹果从有到无,或从无到有)和查询(查询某一个节点他的子树上有多少个苹果)Input第一行为树的节点数n,之后n-1行每行两个整数u和v表示树上有一条从u到v的边,之后一行为一个整数m表示操作数,最后m行每行一个操作,Qx表示查询x所在子树的苹果总数,Cx表示对x节点的苹果进行操作Out
V5ZSQ
·
2015-08-04 16:00
BUPT Summer Training #7 for Grade 14 题解
自己在纸上推推公式,很容易就能知道为何是对的了这里用两个树状数组即可维护,当然增加整棵子树的操作就是预先处理
dfs序
,将树转化为线性,然后在
u013912596
·
2015-08-03 17:00
C++
算法
ACM
hdu 5296 Annoying problem(LCA)
题目链接:hdu5296Annoyingproblem先求出
dfs序
,然后每次修改一个节点u,找到dfs最接近u的两个点,a,b的
dfs序
分别大于和小于u的。
u011328934
·
2015-07-31 21:00
POJ 1635 Subway tree systems 树的Hash 或 树的最小表示法
题目大意:就是给出从树的中心开始的
dfs序
,根据两个
dfs序
列判断两棵树是否同构大致思路:首先根据dfs一直是从树的中心开始的,所以不用担心中心的问题,用树的Hash的话当然可以做另外一个思路是从中心开始的话用树的最小表示法来做
u013738743
·
2015-07-31 10:00
tree
poj
Systems
Subway
树的最小表示法
树的Hash
1635
[阿里笔试]以下是一个有向图,我们从节点B开始进行深度优先遍历(DFS),那么以下5个序列中,所有正确的
DFS序
列是____。
题目(阿里笔试题):以下是一个有向图,我们从节点B开始进行深度优先遍历(DFS),那么以下5个序列中,所有正确的
DFS序
列是__。
MrChen11
·
2015-07-27 00:00
多校第一场 1009 hdu 5296 Annoying problem(
dfs序
+在线倍增lca)
题目链接:点击打开链接题目大意:给出一棵树,我们有集合,我们有操作可以加入一个点,也可以去掉一个点,每次输出当前操作后点集中的点保持连通需要的边的边权之和题目分析:首先对于一棵树我们在加入一个点的时候,之前的点已经是连通的,那么我们就是找到与当前要加入的点相比集合中点当中深搜序比它小的最大的点和深搜序比它大的最小的点,那么为什么是找到这两个点呢?首先我们要找到当前加入之前点集需要加入的一条链(那个
qq_24451605
·
2015-07-26 12:00
C++
LCA
倍增法
dfs序
[UVA10410]Tree Reconstruction[BFS、
DFS序
建树]
题目链接:[UVA10410]TreeReconstruction[BFS、
DFS序
建树]题意分析:给出一棵树的BFS、
DFS序
(如果两节点有同一根节点,则按升序给出顺序)。
GooZy
·
2015-07-25 21:39
uva
建树
[S]树
[UVA10410]Tree Reconstruction[BFS、
DFS序
建树]
题目链接:[UVA10410]TreeReconstruction[BFS、
DFS序
建树]题意分析:给出一棵树的BFS、
DFS序
(如果两节点有同一根节点,则按升序给出顺序)。
CatGlory
·
2015-07-25 21:00
uva
建树
HDOJ 5296 Annoying problem LCA+数据结构
dfs一遍得到每个节点的
dfs序
,对于要插入的节点x分两种情况考虑:1,如果x可以在集合中的某些点之间,找到左边和右边距离x最近的两个点,即
DFS序
小于x的
DFS序
最大点,和大于x的
DFS序
最小的点..
u010850027
·
2015-07-22 14:00
NOI 2015 DAY1 T2 软件包管理器 树链剖分
然后第二种询问呢,就是把一个整个子树删掉就好了,然后因为
dfs序
的性质,每棵子树在线段树上是连续的。
wzq_QwQ
·
2015-07-19 22:00
方法
安装
DFS
标记
管理器
BZOJ4154——IPSC2015 Generating Synergy
因为有子树修改,而又不是整棵子树的修改,直接上
dfs序
是不行的。考虑它每次修改的只有子节点,而且有距离限制,我们想到这是与点的深度有关的问题。
一只蒟蒻
·
2015-07-14 11:55
bzoj
数据结构
k-d树
Count on a tree 主席树+
dfs序
hzhwcmhf讲过,这个题是主席树,然后我当时说按树链剖分那样弄,被否掉了,后来才发现,是
dfs序
,虽然没有很大差别,但仔细想想,树剖那样搞完全是多余。。。。以前的我太弱了。
IED98
·
2015-07-13 12:29
数据结构
【线段树】 HDOJ 5274 Dylans loves tree
用
dfs序
构建线段树,然后用lca求出两点间路径的xor和。。。
blankcqk
·
2015-06-23 18:00
线段树
BZOJ2819 Nim(
dfs序
+树状数组)
【题解】题目大意:给定一棵树,有两种操作:1.修改一个节点的权值 2.查询两点之间路径上所有点的权值异或值 运用前缀的思想 首先xor运算有一个性质:Xor[l,r]=Xor[1,l]^Xor[1,r]所以,设Xor[x]为从结点x到根经过的所有结点的权值异或,则x到y路径上的点权异或值为:Xor[x]^Xor[y]^Val[LCA(x,y)]修改一个点x,会改变以它为根的子树中所有节点的Xor[
cjk_cjk
·
2015-06-17 23:00
树状数组
dfs序
xor运算
HDU 5266 pog loves szh III (线段树+在线LCA转RMQ)
题目地址:HDU5266这题用转RMQ求LCA的方法来做的非常简单,只需要找到l-r区间内的
dfs序
最大的和最小的就可以,那么用线段树或者RMQ维护一下区间最值就可以了。
u013013910
·
2015-06-08 14:00
数据结构
编程
算法
线段树
ACM
【后缀自动机】Codeforces Round #305 (Div. 1) E. Mike and Friends
然后将每个的fa边反向建树,对树dfs得到
dfs序
,对
dfs序
建立线段树。询问离线,每个询问拆成1-(l-1)和1-r。。。按端点排序,然后每次加入线段树,查询k对应的节点的子树和。。。
blankcqk
·
2015-05-29 13:00
后缀自动机
BZOJ 3779 重组病毒 LCT+线段树维护
DFS序
题目大意:给定一棵树,初始每个点都有一个颜色,支持三种操作:1.将某个点到根的路径上所有点染上一种新的颜色2.将某个点到根的路径上所有点染上一种新的颜色,然后把根设为这个点3.定义一个点的代价为这个点到根路径上颜色的种类数,求某个点子树中所有点代价的平均值我真是炖了狗了……容易发现这玩应就是个LCT,操作1就是Access,操作2就是Move_To_Root,代价就是一个点到根路径上的虚边数量+1
PoPoQQQ
·
2015-05-22 17:00
线段树
bzoj
dfs序
LCT
BZOJ3779
树链剖分学习笔记
树链剖分算法,说白了就是一种特殊的
DFS序
(通过把节点分为重节点和轻节点来保证线段树的时间复杂度)然后在线段树上乱搞。题目分为点权和边权两类,点权好理解一些,边权可以转化为边在树中指向节点的权值。
Lcomyn
·
2015-05-13 20:00
做题小结
4050
DFS序
的妙用。
DFS序
中两两的距离和即为遍历这些点并回到出发点的最短距离。4051正解FFT,DP水分设F[I][J]为选到I时候Mod为J的方案数。4052二分答案。网络流判定。
ChrysanthemumZhao
·
2015-05-13 11:20
题解
做题小结
4050
DFS序
的妙用。
DFS序
中两两的距离和即为遍历这些点并回到出发点的最短距离。4051正解FFT,DP水分设F[I][J]为选到I时候Mod为J的方案数。4052二分答案。网络流判定。
ChrysanthemumZhao
·
2015-05-13 11:00
BZOJ 4034 HAOI2015 T2
DFS序
+线段树
题目大意:给定一棵树,每个点有点权,支持下列操作:1.某个点的点权+a2.某棵子树所有点权+a3.查询某个点到根路径上的点权和这个用入栈出栈序就可以了入栈为正,出栈为负,那么一个点到根路径上的权值和就是入栈出栈序中[1,入栈位置]的和而子树在入栈出栈序中是连续的,因此用线段树维护一下就可以了(似乎只要无脑链剖就可以了?#include #include #include #include #def
PoPoQQQ
·
2015-05-03 20:00
线段树
bzoj
dfs序
BZOJ4034
【HDU】5221 Occupation【树链剖分】
传送门:【HDU】5221Occupation题目分析:最直接的想法,用一棵树链剖分维护路径,一棵
dfs序
线段树维护子树。因为每次最多修改一个点,所以修改的时候我们暴力修改每个点就可以了。
u013368721
·
2015-05-03 11:00
[NOI2013]树的计数(树的DFS,BFS序性质)
感觉对树的理解更深了点首先想到对BFS序列进行划分,那么方便起见,将BFS序列改为1~n的顺序排列,对应地改变
DFS序
列对于同一种划分方案,有几棵满足
DFS序
的树呢?
cjk_cjk
·
2015-04-26 02:38
其他图论算法
思路题
[NOI2013]树的计数(树的DFS,BFS序性质)
感觉对树的理解更深了点首先想到对BFS序列进行划分,那么方便起见,将BFS序列改为1~n的顺序排列,对应地改变
DFS序
列 对于同一种划分方案,有几棵满足
DFS序
的树呢?
cjk_cjk
·
2015-04-26 02:00
DFS
离散化
bfs
方程组
NOI
BZOJ 3991 Sdoi2015 寻宝游戏 树链的并
题目大意:给定一棵树,多次将某个点设为关键点或取消关键点,求虚树中边长总和的二倍Orzwyfcyx首先我们考虑树链的并(每个点到根节点的链的并集)怎么求将虚树中的所有点按照
DFS序
排序,将每个点的深度统计入答案
PoPoQQQ
·
2015-04-16 10:00
set
平衡树
bzoj
dfs序
BZOJ3991
省选模版复习——主席树
bzoj3653谈笑风生
dfs序
,主席树水过去吧#include #include #include #include usingnamespacestd; #definepbpush_back typedeflonglongLL
Zeyu_King
·
2015-04-16 08:00
主席树
[省选前题目整理][BZOJ 2588][SPOJ COT]Count On a Tree(
DFS序
主席树)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2588思路http://blog.csdn.net/qpswwww/article/details/44890489代码#include #include #include #include #include #defineMAXN110000 #defineMAXM2100000 usi
qpswwww
·
2015-04-10 21:00
[BZOJ 2588][SPOJ COT]Count On a Tree(
DFS序
主席树)
id=2588思路静态
DFS序
主席树模板题。
qpswwww
·
2015-04-05 19:00
[省选前题目整理][BZOJ 2434][NOI 2011]阿狸的打字机(AC自动机+fail树+
DFS序
+树状数组)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2434思路将每个打印出来的串插入AC自动机后可以发现,a串在b串中的出现次数,就是在AC自动机的fail树中a串的终止结点的子树中,包含了的b串节点的个数。这是非常显然的,根据AC自动机的fail指针定义,一个代表前缀a的点的fail指向的前缀b,b一定是a最长的后缀。如上图就是一个AC自动机
qpswwww
·
2015-04-02 15:00
[BZOJ 2819]nim(
DFS序
+树状数组+SG博弈)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2819思路其实就是要支持查询树上一段路径的xor和,并支持修改点权。。。如果我在考场上的话绝对上树剖或者LCT。。。但是此题n实在太大了,会卡常数,而且丧病的是vfk构造的最后3个点全部是链,直接把DFS卡爆栈。。。正确的做法是,由于树的形态不变,所以我们首先通过BFS或者手写一个栈来模拟DF
qpswwww
·
2015-04-01 21:00
【LCA】 HDOJ 5156 Harry and Christmas tree
解法:预处理LCA,对操作排序,对每个颜色,节点按
dfs序
排序。然后扫一边,在每个颜色中,对每个节点颜色+1,这个节点和前一个节点的LCA颜色-1。最后DFS统计一下。
blankcqk
·
2015-03-02 14:00
LCA
hdoj
[POJ 3694]Network(Tarjan+并查集+LCA 动态加边求图中桥的个数)
1≤|V|≤100000,1≤|E|≤200000,1≤q≤1000思路对于初始的图,用tarjan算法生成一棵DFS树以及其
DFS序
,并同时求出最开始时整张图中的桥的个数,将除了
qpswwww
·
2015-02-21 11:00
动态图
HDU 5150 && UVALive 5061 (LCA标记)
基于此,我们对每种颜色的所有节点按照
dfs序
排好序,首先每个节点+1,然后对
dfs序
相邻的两个节点(注意颜色要相同)求一次lca,在
u013007900
·
2015-02-17 11:00
LCA标记
习题6-11 树重建 UVa10410
1.题目描述:点击打开链接2.解题思路:由于只给定了BFS,
DFS序
列,当然要通过先序遍历(即DFS)和层次遍历(即BFS)将原树构造出来。
u014800748
·
2015-01-31 19:00
递归
搜索
遍历
uva
bfs
【BZOJ3439】Kpm的MC密码 Trie+
dfs序
+可持久化线段树
题解:咳咳。首先补全数据范围:对于100%的数据,1 #include #include #include #defineN101000 #defineLOGN20 #defineM301000 #defineT26 #definelsson[x][0] #definersson[x][1] usingnamespacestd; inte[N],head[M],cnt; inlinevoidadd
Vmurder
·
2015-01-15 22:00
trie
dfs序
可持久化线段树
BZOJ3439
Kpm的MC密码
bzoj3572: [Hnoi2014]世界树
只是题解还没写……这题有个很直观的想法,就是把询问点按
dfs序
排序,然后只保留相邻点的lca。然后再乱搞。。。然后有个很直观的感觉就是不可打(当然这是因为我太弱了。。。)然后去膜拜ydc神犇的代码。
IED98
·
2015-01-13 23:59
数据结构
【HDU】5156 Harry and Christmas tree 【lca】
基于此,我们对每种颜色的所有节点按照
dfs序
排好序,首先每个节点+1,然后对
dfs序
相邻的两个节点(注意颜色要相同)求一次lca
u013368721
·
2015-01-04 19:00
HDU
dfs序
+树状数组
参考这里代码:bzoj1103#include #include #include #defineMaxn250010 usingnamespacestd; structedge{ intto,next; }p[Maxn]; intn; inthead[Maxn],st[Maxn],l[Maxn],r[Maxn],c[Maxn'9')ch=getchar(); while(ch>='0'&&ch
u012866104
·
2014-12-27 13:00
【BZOJ】【P2434】【Noi2011】【阿狸的打字机】【题解】【fail树+
dfs序
+树状数组】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2434题解很多我就不讲了Code:#include #defineidx(c)(c-'a') #definelowbit(x)(x&-x) usingnamespacestd; constintmaxn=1e5+5; typedefpairpi; vectord,lef,rig; vector
u012732945
·
2014-12-03 08:00
bzoj
BZOJ 3786 星系探索
DFS序
+Splay
题目大意:给定一棵有根树,提供下列操作:1.询问某个点到根路径上的点权和2.修改某个点的父亲,保证修改之后仍然是一棵树3.将某个点所在子树的所有点权加上一个值子树修改,LCT明显是搞不了了,在想究竟会不会有人去写自适应Top-Tree……首先我们DFS搞出这棵树的入栈出栈序然后入栈为正出栈为负那么一个点到根的路径上的点权和就是从根节点的入栈位置到这个点的入栈位置的和子树修改就记录某段序列中有多少入
PoPoQQQ
·
2014-12-01 16:00
splay
bzoj
dfs序
BZOJ3786
BZOJ 3757 苹果树 树上莫队
若苹果树上同时有这两种颜色,ans--传说中的树上莫队……颜色数既不满足区间加法也不满足区间减法,直接维护极其困难,这种东西就直接考虑莫队好了但是怎么转移是个问题首先树分块然后以左端点所在块为第一键值,右端点在
DFS
PoPoQQQ
·
2014-11-25 12:00
bzoj
莫队算法
BZOJ3757
树上莫队
块状树
BZOJ 3757 苹果树 树上莫队
思路:比较裸的树上莫队,写出来之后,很慢,怀疑是分块的缘故,然后果断找了当年比赛的标称交上去,瞬间rk1,大概看了一眼,他好像是直接用
DFS序
+曼哈顿距离最小生成树搞的,为什么会比分块快?
jiangyuze831
·
2014-11-25 09:00
bzoj
莫队
树上莫队
【BZOJ】【P3252】【攻略】【题解】【贪心+
dfs序
+线段树】
id=3252显然每次走最大的路径
dfs序
+线段树维护每个点最多修改一次Code:#include usingnamespacestd; constintmaxn=200010; vectorG[maxn
u012732945
·
2014-11-23 19:00
bzoj
BZOJ 1103 POI 2007 大都市meg 树状数组
思路:POI不怎么难的题,实际上每个点到1的土路的数量就是这个点的深度,在土路变成公路的时候,这个点以及子树的所有节点的深度都要-1,子树修改就很基本了,可以用
DFS序
+fenwick,当然要是不嫌麻烦也可以树链剖分
jiangyuze831
·
2014-11-23 13:00
poi
树状数组
树链剖分
bzoj
fenwick
【HDU】4729 An Easy Problem for Elfness 可持久化线段树——主席树
传送门:【HDU】4729AnEasyProblemforElfness题目分析:我们发现边的容量最多10000,所以我们可以以边的容量为下标建立主席树,主席树的构造就沿着
dfs序
构造即可,信息为根到当前节点的信息总汇
u013368721
·
2014-11-12 21:00
HDU
HDU Hilarity (
dfs序
+线段树)
ProblemDescriptionAfterJune1st,elementarystudentsofTedLandarestillcelebrating"TheSacredDayofElementaryStudents”.Theygotothestreetsanddosomeelementarystudentsstuff.Sowecallthem"elementarystudents".Ther
u011345136
·
2014-10-31 16:00
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他