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序】
Codeforce 222 div1
A 假设只有一个连通块,任选一个点入队,按bfs/
dfs序
删除即可.
·
2015-11-11 08:20
code
POJ 3352&&3177 (割边 && 边双连通分量)
定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点,即
DFS序
号最小的节点。
·
2015-11-11 07:40
poj
POJ 3352&&3177 (割边 && 边双连通分量)
定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点,即
DFS序
号最小的节点。
·
2015-11-11 07:40
poj
POJ 1523 SPF (割点 && 点双连通分量)
定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点,即
DFS序
号最小的节点。
·
2015-11-11 07:39
poj
POJ 1523 SPF (割点 && 点双连通分量)
定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点,即
DFS序
号最小的节点。
·
2015-11-11 07:38
poj
HDU 3966
dfs序
+LCA+树状数组
题目意思很明白: 给你一棵有n个节点的树,对树有下列操作: I c1 c2 k 意思是把从c1节点到c2节点路径上的点权值加上k D c1 c2 k 意思是把从c1节点到c2节点路径上的点权值减去k Q a 查询节点a的权值 数据大小 节点个数 n[1,50000], 操作次数 op[0,30000]; 不会树链剖分 故只有想其他的方法。 这道题有点类似今年上海网络赛的10
·
2015-11-11 04:36
树状数组
SPOJ 1487 Query on a tree III(划分树)
思路:DFS一次,记录每个节点在
DFS序
列中的开始和结束位置。那么以u为节点的子树的所有点都在两个u之间。那么询问就转化成询问区间的第K小值,可以将
DFS序
列建立划分树解决。
·
2015-11-11 03:28
query
HDU3887
DFS序
+ 线段树
查询树上某个节点的子节点的标号小于其标号的数目. 一个trick是建立线段树之后,从标号小的向标号大的来做更新. 1: #include <cstdio> 2: #include <cstring> 3: #include <cctype> 4: #include <algorithm> 5: #i
·
2015-11-10 23:35
HDU
POJ 3321
DFS序
+线段树
单点修改树中某个节点,查询子树的性质.
DFS序
子树序列一定在父节点的
DFS序
列之内,所以可以用线段树维护.
·
2015-11-10 23:34
poj
BZOJ 2333 棘手的操作(线段树)
首先将所有U操作进行,得到一个
DFS序
列。那么中间操作都是操作的一段区间。然后用线段树维护就好了。
·
2015-11-09 14:09
线段树
bzoj 1023: [SHOI2008]cactus仙人掌图
就是说,做一遍DFS,DFS的过程中处理出环,环上的点先不DP,先把这些换上的点的后继点都处理出来,再从环上
DFS序
最小的点开始进行环状DP,就ok了。但是注意判断是不是父边不能用 v[k] !
·
2015-11-09 13:18
2008
CF 372D Choosing Subtree is Fun
思路: 首先,DFS一次,得到一个
DFS序
,就是每个节点是第几个被DFS到的,这个程序中用cnt[u]表示,以及记录在
DFS序
中某几次遍历的编号是谁,这个用id[i]表示。id[c
·
2015-11-08 11:52
tree
LA 3516 Exploring Pyramids (记忆化搜索)
题意 给定一个
DFS序
列,问能有多少树与之对应。 思路 设输入序列为S,dp(i, j)为子序列Si, Si+1, ……, Sj对应的树的个数,则边界条件为d(i, i) = 1,且Si !
·
2015-11-07 15:43
exp
LA 3516 Exploring Pyramids (记忆化搜索)
题意 给定一个
DFS序
列,问能有多少树与之对应。 思路 设输入序列为S,dp(i, j)为子序列Si, Si+1, ……, Sj对应的树的个数,则边界条件为d(i, i) = 1,且Si !
·
2015-11-07 15:28
exp
Hdu 3887 Counting Offspring \ Poj 3321 Apple Tree \BZOJ 1103 [POI2007]大都市meg
这几个题练习
DFS序
的一些应用。
·
2015-11-07 12:43
spring
hdu 3887 Counting Offspring
思路:首先找出这棵树的
DFS序
列,每一个节点出现在两个位置,这两个位置之间的节点就是该节点的子孙节点。 然后用树状数组求出这两个位置之间有多少个节点小于该节点。
·
2015-11-02 15:40
spring
[BZOJ1782] [Usaco2010 Feb]slowdown 慢慢游
n个点的树,每次从1出发到达a[i],询问到达a[i]之后,经过了几个之前已经到达的点题解简单画下图我们就能发现,每次走完就相当于给a[i]的子树权值(之后到达某个点的答案)+1,为了维护这个,我们用
DFS
slongle_amazing
·
2015-11-01 20:00
3244: [Noi2013]树的计数 - BZOJ
Description 我们知道一棵有根树可以进行深度优先遍历(DFS)以及广度优先遍历(BFS)来生成这棵树的
DFS序
以及BFS序。
·
2015-11-01 14:07
ZOJ
bzoj1146
先求
DFS序
,一棵子树的DFS是连续的,不妨记为[l,r],我们维护前缀和,在l处+1,在r+1处-1。 变成动态区间第K大的经典问题,用树状数组套线段树。
·
2015-11-01 09:12
ZOJ
BZOJ 3460 Jc的宿舍
思路:在树的
DFS序
中分块。 const int N=200005; struct node { int x,y,lca,fla
·
2015-10-31 17:16
ZOJ
BZOJ3589 : 动态树
对于既要支持子树修改又要支持链查询, 需要树链剖分 然后求出
DFS序
,DFS的时候先DFS重儿子, 然后子树是1个区间,链是$O(\log n)$个区间 这道题对于查询若干条链的并
·
2015-10-31 16:38
ZOJ
BZOJ3653 : 谈笑风生
设d[x]表示x到根的距离 size[x]表示x的子树大小(不含自己) 求出
dfs序
后按
dfs序
建主席树,线段树中区间[a,b]表示深度在[a,b]范围内的size[]的和 查询x,y的答案=size
·
2015-10-31 16:30
ZOJ
BZOJ3413 : 匹配
本题每个询问就是说将询问串与主串每个后缀匹配,若匹配成功则结束,否则加上lcp的长度 对主串建立后缀树,并用主席树维护
DFS序
对于每个询问串,找到最后走到的点fin_node(在边上就往下走),
·
2015-10-31 16:28
413
BZOJ3720 : Gty的妹子树
如果没有插入操作,那么直接对
DFS序
建立线段树套平衡树即可, 有插入操作的话,将外层的线段树换成重量平衡树即可。
·
2015-10-31 16:25
ZOJ
BZOJ3448 : [Usaco2014 Feb]Auto-complete
RE了几十发,实在没办法了…只好向管理员要数据,然后发现数据规模与题目描述不符… 建立Trie并求出
DFS序
,同时根据
DFS序
确定字典序 然后每次询问相当于询问子树第k小,用主席树维护,注意压缩内存
·
2015-10-31 16:20
USACO
BZOJ4154 : [Ipsc2015]Generating Synergy
求出
dfs序
和每个点的深度 将第i个点看成二维点(st[i],d[i]) 则修改操作等价于将横坐标在[st[x],en[x]]内,纵坐标在[d[x],d[x]+y]范围内的点的颜色都修改为c 用支持标记下放的
·
2015-10-31 11:52
ZOJ
BZOJ3483 : SGU505 Prefixes and suffixes(询问在线版)
并求出每个串在A,B中的
dfs序
。 每次查询等价于查询在A中
dfs序
在[la,ra]之间,在B中
dfs序
在[lb,rb]之间的串的个数,用主席树维护即可。
·
2015-10-31 10:17
pre
hdu 5039 线段树+
dfs序
http://acm.hdu.edu.cn/showproblem.php?pid=5039 给定一棵树,边权为0/1。m个操作支持翻转一条边的权值或者询问树上有多少条路径的边权和为奇数。 用树形dfs出每个点到根的路径上边权和是否为奇数; 由于翻转一个边只会连带影响其下的子节点,所有线段树记录更新区间,odd记录到根的路径上边权和为奇数的个数,每次只需更新和查询odd,没有lazy会超时
·
2015-10-31 09:38
HDU
CodeForces 343D 线段树维护
dfs序
给定一棵树,初始时树为空 操作1,往某个结点注水,那么该结点的子树都注满了水 操作2,将某个结点的水放空,那么该结点的父亲的水也就放空了 操作3,询问某个点是否有水 我们将树进行dfs, 生成in[u], 访问结点u的时间戳,out[u],离开结点u的时间戳 每个结点的in值对应在线段树中的区间的一点 那么对于操作1, 只要将区间[in[u],out[u]] 的值都改为
·
2015-10-31 09:09
codeforces
树链剖分||
dfs序
各种题
1.【bzoj4034】[HAOI2015]T2 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 #include<cmath> #inc
·
2015-10-31 08:08
DFS
uva1462(Fuzzy Google Suggest)
思路:建立字典树,然后
dfs序
列。这题的主要难度在于怎么dfs计数的问题,字典树就是次要的难度。如何表示是不变,增加,删除这三种状态?
KIJamesQi
·
2015-10-30 01:00
dp
字符串
DFS
uva
AC自动机
第二周 7.26-8.1
以及
dfs序
和求和的方法。 从昨天下午开始码。今天终于码(抄)好了。 一会补在多校那篇里。 先补个BC。 HDU 5312 Sequence 按照官方题解。
·
2015-10-27 11:33
BZOJ 3991 SDOI 2015 寻宝游戏(异象石) LCA + Set +
DFS序
异象石(stone.pas/c/cpp)题目描述Adera是Microsoft应用商店中的一款解谜游戏。异象石是进入Adera中异时空的引导物,在Adera的异时空中有一张地图。这张地图上有N个点,有N-1条双向边把它们连通起来。起初地图上没有任何异象石,在接下来的M个时刻中,每个时刻会发生以下三种类型的事件之一:1.地图的某个点上出现了异象石(已经出现的不会再次出现);2.地图某个点上的异象石被
漠空
·
2015-10-23 15:11
Propagating tree
dfs序
+树状数组
C. Propagating tree Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/383/problem/C Description Iahub likes trees very much. Recently he discovered an interesting tree na
·
2015-10-23 09:49
codeforces
COJ 1011 WZJ的数据结构(十一)树上k大
题解:主席树&
DFS序
。 PS:为什么我一开始Wa了N发 是因为有一个左区间我写成[L,M+1]了。。。。。。。。。。。。。。。。。。。。。。。。。。
·
2015-10-21 12:59
数据结构
HDU 5468 Puzzled Elena(
DFS序
+容斥原理)
当我们知道这个怎么处理以后,我们可以利用
dfs序
,解决这个问题我们求当前这个节点的答案时,用容斥搞就是:以这个节点为根的树的大小-有1个素因子和他相同的节点个数+有2个素因子和他相同的个数-有3个素因子和他相同的个数
u013790563
·
2015-09-30 21:00
POJ3321 Apple Tree(
DFS序
+ 树状数组)
分析:
DFS序
:根据dfs的时候节点进栈与出栈的时间点。in[u]/out[u]代表点u进/出栈的时间,那么(in[u],out[u])之间的节点就是点u子树上的节点。
u013790563
·
2015-09-30 19:00
hdu 5468 Puzzled Elena(前缀性质+
dfs序
+容斥)
题目链接:hdu5468PuzzledElena解题思路预处理出每个数的因子(注意只需要质因子幂数最大为1的数,例如6=21∗31)然后用一个数组维护,fac[i]表示说当前有fac[i]个数包含i这个因子。然后dfs遍历这棵树,第一次遍历到节点u时,通过fac数组计算出现在有多少个数与W[u]不互质,待遍历完u的子树后,再计算一次,两个相减即为u子树中与W[u]不互质的数的个数,在处理完该节点后
u011328934
·
2015-09-30 16:00
hdu 5468 Puzzled Elena
当我们知道这个怎么处理以后,我们可以利用
dfs序
,解决这个问题我们求当前这个节点的答案时,用容斥搞就是:以这个节点为根的树的大小-有1个素因子和他相同的节点个数+有2个素因子和他相同的个数-有3个素因子和他相同的个数
u011560507
·
2015-09-30 15:00
HDU 5468 Puzzled Elena (
DFS序
+莫比乌丝反演 好题)
PuzzledElenaTimeLimit:5000/2500MS(Java/Others) MemoryLimit:131072/131072K(Java/Others)TotalSubmission(s):470 AcceptedSubmission(s):103ProblemDescriptionSincebothStefanandDamonfellinlovewithElena
Tc_To_Top
·
2015-09-29 09:00
HDU
dfs序
莫比乌丝反演
[to do list] noip刷题计划
noip之前要做的题:bzoj1146(get)搞出
dfs序
之后类似zoj2112处理就好。bzoj1013(get)高斯消元,列出n+1个等式,得到n个方程,解出来就好。
::Dash::
·
2015-09-28 23:12
bzoj
noip
other
【bzoj2002】 [Hnoi2010]Bounce 弹飞绵羊
非常裸的裸题……很明显每个点跳到的点的编号一定大于当前点,那么整个跳的图就形成了一个树结构,每个点的父亲节点定义为min(i+k,n)这样搞之后,操作1就是查询某个点的深度,操作2就是换父亲大概可以用
dfs
GEOTCBRL
·
2015-09-27 13:00
HDU 3794 Assign the task (时间戳
dfs序
线段树)
题意:给定一棵树表示上下级关系每次对一个人及其所有的下级分配任务他们直接开始新的这个任务 求每次查询当前人的进行任务分析:用
dfs序
(时间戳)来维护上下级关系,st[x],ed[x]表示包括自己以及所有的下级
lwt36
·
2015-09-18 22:00
时间戳
线段树
dfs序
BZOJ 3991(
dfs序
+ LCA 公式推导)
题意:给定一颗带权的树(n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defineALL(a)a.begin(),a.end() #defineclr(a,x)memset(a,x,siz
playwfun
·
2015-09-18 14:00
uva 11098 - Battle II(强联通)
最后按照
dfs序
排序后输出。
u011328934
·
2015-09-11 20:00
HDU 5221 Occupation
dfs序
版树链剖分
题目大意:就是现在给出一棵树,以1为根,树上的点都有自己的权值,初始都没有被占领,接下来3种操作1.从u到v的路径上的所有点被M占领2.某个点u被C占领3.以u为根的子树被M占领每次操作后输出当前被M占领的那些点的点权和大致思路:很明显对于操作1和2用树链剖分很容易处理对于第3种操作,需要利用树的时间戳...于是这里写了一次dfs版的树链剖分也没有什么特别了的吧...我线段树维护的时候记录当前区间
u013738743
·
2015-09-11 00:00
HDU
occupation
5221
dfs序版树链剖分
CodeForces 343D Water Tree(
dfs序
+线段树区间更新)
题意:给定一棵树,以及定义了3个操作1、把v点及其子树灌上水2、把v点及v到根的路径去掉水3、询问v点是否有水解析:先对这棵树做一遍
dfs序
,把树转成dfs_clock,这样每个点就可以对其子树进行区间更新
HelloWorld10086
·
2015-09-08 21:00
codeforces
343D
BZOJ 3252 攻略 线段树
既然每个点的权值只会传子树,并且整个图是严格的一棵树,所以应该是跟
dfs序
有关。然后去看数据范围。尼玛HINT是什么鬼。
wzq_QwQ
·
2015-09-07 22:00
数据
线段树
DFS
poj 2763 Housewife Wind (LCA转RMQ+树状数组)
用L[u],R[u]分别表示结点u的
dfs序
、回溯到u时的d
u014679804
·
2015-09-01 11:00
【bzoj3306】 树
dfs序
+线段树
那么按照点1为根时的
dfs序
,若当前根在x点的子树外,则答案还是x的子树,若当前根是x,那么答案是整棵树,若当前的根在x的子树内,则答案就是抠掉根所在的那一枝后的答案(画个图就明白了)。
u012288458
·
2015-08-17 13: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
其他