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序
Split The Tree(2018东北四省赛)
给你一棵树,树上每个节点都有一个权值,问将一条边断开,形成两棵树,每棵树上权值不同的数量的和,让这个和尽量大很显然这是一道求区间数字种类数的问题,这道题给的是一棵树,不是区间,因此我们首先将树给区间化,然而
dfs
jadelemon
·
2018-09-06 10:00
hdu 6394 树分块
pid=6394题目的数据好像不用先处理
dfs序
也可以过,将树分块然后每次更新在区间内向后更新,每次询问时向前查找一直到树根为止,同时更新向上弹的次数#include#defineinf0x3f3f3f3f
Dale_zero
·
2018-08-30 20:38
树分块
CodeForces 620E New Year Tree (
DFS序
+线段树)
做法:因为只有60种颜色,所以可以状压颜色,这样的话就可以把区间颜色合并的操作看为“或”,线段树随便维护一下就可以了。WA了无数发才想起来”1LLusingnamespacestd;constintmaxn=400005;structedge{intto,nxt;}e[maxn>1;build(k=r){tr[k].tag=tr[k].num=x;return;}intmid=(l+r)>>1;p
Apel_dey
·
2018-08-30 02:09
数据结构
图论
【BZOJ】4771: 七彩树 -线段树合并&主席树&set
传送门:bzoj4771题解为满足深度和子树两个限制,预处理出dfs
dfs序
和每层的点,然后按深度递增,dfs
dfs序
为下标建立主席树,每次询问查询(rt[depx+d],in[x],ot[x])(rt
ccosi
·
2018-08-29 16:57
线段树
set
主席树
一句话题解整理
用
dfs序
+划分树预处理,然后考虑修改对询问的影响。Luogu2051动态规划。
DSL_HN_2002
·
2018-08-27 23:11
文章类型——题解
文章类型——娱乐向
【BZOJ】3083: 遥远的国度 -树剖&线段树
换根可以O(1)O(1)换,只需要在查询的时候讨论一下:若当前查询的节点idid不在1到rootroot的路径上,直接查询子树信息(dfs
dfs序
上的in,outin,out)。
ccosi
·
2018-08-20 20:36
树链剖分
BZOJ3786 星系探索 【Splay维护
dfs序
】*
BZOJ3786星系探索Description物理学家小C的研究正遇到某个瓶颈。他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球。主星球没有依赖星球。我们定义依赖关系如下:若星球a的依赖星球是b,则有星球a依赖星球b.此外,依赖关系具有传递性,即若星球a依赖星球b,星球b依赖星球c,则有星球a依赖星球c.对于这个神
Dream_Maker_yangkai
·
2018-08-13 10:04
Splay维护dfs序
c++
BZOJ
Splay
dfs序
数据结构
好题
树链剖分 讲解+模板+习题
学习树链剖分的基础知识有lca,
dfs序
,线段树等。首先,我们来明确即可变量。sizeisize_isizei表示以iii为子树的大小,包括i
Hacheylight
·
2018-08-08 19:03
树链剖分
最近公共祖先LCA
算法总结
「BZOJ3720」GTY的妹子树-时间分块+划分树
先用dfs
dfs序
+划分树(也可以
DSL_HN_2002
·
2018-08-06 23:52
数据结构——线段树
算法——分块
2018年7月18日训练日记
终于又理解了一遍RMQ和LCA,看了
DFS序
,发现其实和树剖原理相似,都是一种hash。
LSD20164388
·
2018-07-18 20:15
训练日记
Codeforces Round #200 (Div. 1) D. Water Tree
先求一下
dfs序
,然后直接线段树修改一下就好了。详细见代码:#include
DYT_B
·
2018-07-12 16:45
题解
CodeForces题解
dfs序
1.定义
dfs序
:每个节点在dfs深度优先遍历中的进出栈的时间序列
dfs序
就是A-B-D-D-E-G-G-E-B-C-F-H-H-F-C-A2.性质为了便于理解,我们举个example我们都知道它的
dfs
Kousak
·
2018-06-17 10:00
[bzoj5338][loj2557][TJOI2018]xor【可持久化线段树】【
dfs序
】【欧拉序】
id=5338https://loj.ac/problem/2577【题解】可以开两棵可持久化权值线段树,一棵记
dfs序
维护子树信息,另一棵记欧拉序维护链信息。
VanishD
·
2018-06-13 10:20
【可持久化线段树】
【dfs序】
【欧拉序】
【Luogu P2633 】Count on a tree
只要把序列上的变成按父子关系来就行,用
DFS序
。求的时候因为是点权,记录每一个点到根的信息后,用两端的减去lca的和lca的父亲的即可。代码如下:
NeosKnight
·
2018-06-08 20:13
======题解======
主席树
SPOJ COT2(Count on a tree II) 树上莫队
2对这棵树求其
dfs序
分块,3对m组询问的L和R求lca,4莫队,lca需要特殊处理。
_XFire
·
2018-05-31 19:39
树上莫队
莫队
【uoj】198:【CTSC2016】时空旅行-
dfs序
&线段树&凸包
传送门:uoj198题解y,z坐标无用。先化简一下式子,假设选择的是第ii个星球,其xx轴上值为xixi。则花费为:(xi−x0)2+ci=−2xix0+x2i+ci+x20(xi−x0)2+ci=−2xix0+xi2+ci+x02不考虑x0x0,这个式子就是个直线,所以我们维护一下凸包就好了。斜率K=−2xiK=−2xi,截距B=x2i+ciB=xi2+ci,按KK第一关键字降序,BB第二关键字
ccosi
·
2018-05-17 22:20
妙
线段树
凸包
【BZOJ】2819:Nim-树剖&线段树&手写栈
直接
dfs序
建个线段树改一下。被题面坑了,写了一个手写栈。代码#includeusingnam
ccosi
·
2018-05-17 13:52
树链剖分
Nim
【gdoi2018 day1】涛涛接苹果
题解:看到这个子树问题,很容易想到
dfs序
转区间。再写写约束,发现有三个,并且满足容斥性。于是排序搞掉一个,cdq搞掉一个,树状数组搞掉一个,贼好写。主席树,K-DTree当然也可以,有些复杂。
Cold_Chair
·
2018-05-07 21:11
线段树
cdq分治
【gdoi2018 day1】涛涛接苹果
题解:看到这个子树问题,很容易想到
dfs序
转区间。再写写约束,发现有三个,并且满足容斥性。于是排序搞掉一个,cdq搞掉一个,树状数组搞掉一个,贼好写。主席树,K-DTree当然也可以,有些复杂。
Cold_Chair
·
2018-05-07 21:11
线段树
cdq分治
HDU5039线段树+
dfs序
ProblemDescriptionAfterJune1st,elementarystudentsofTedLandarestillcelebrating“TheSacredDayofElementaryStudents”.Theygotothestreetsanddosomeelementarystudentsstuff.Sowecallthem“elementarystudents”.Ther
Aurum_potestas_est
·
2018-04-20 17:17
HDU
Gloria
线段树
dfs序
HDU3887
dfs序
+线段树
ProblemDescriptionYouaregivenatree,it’srootisp,andthenodeisnumberedfrom1ton.Nowdefinef(i)asthenumberofnodeswhosenumberislessthaniinallthesucceedingnodesofnodei.Nowweneedtocalculatef(i)foranypossiblei.
Aurum_potestas_est
·
2018-04-19 21:11
HDU
Gloria
线段树
dfs序
计蒜客2018蓝桥A组模拟赛(一)青出于蓝胜于蓝(
dfs序
+线段树)
题目:武当派一共有n人,门派内n人按照武功高低进行排名,武功最高的人排名第1,次高的人排名第2,…武功最低的人排名第n。现在我们用武功的排名来给每个人标号,除了祖师爷,每个人都有一个师父,每个人可能有多个徒弟。我们知道,武当派人才辈出,连祖师爷的武功都只能排行到p。也就是说徒弟的武功是可能超过师父的,所谓的青出于蓝胜于蓝。请你帮忙计算每个人的所有子弟(包括徒弟的徒弟,徒弟的徒弟的徒弟….)中,有多
nbl97
·
2018-04-16 22:38
线段树
dfs序
Codeforces 877E Danil and a Part-time Job(
dfs序
+线段树)
Danildecidedtoearnsomemoney,sohehadfoundapart-timejob.Theinterviewhavewentwell,sonowheisalightswitcher.Danilworksinarootedtree(undirectedconnectedacyclicgraph)withnvertices,vertex1istherootofthetree.T
Cymbals
·
2018-04-15 20:25
Java
ACM
线段树
bzoj2819 Nim(
dfs序
+树状数组+博弈)
可以
dfs序
+树状数组来做,维护每个点到根的异或和。
Icefox_zhx
·
2018-04-09 20:18
树状数组
-----树-------
bzoj
博弈
2018.4.7DP练习赛总结
2018.4.7DP练习赛总结最近学的东西有点多,什么树状数组、线段数、trie树、kmp、
dfs序
、ac自动机,各种玄学操作疯狂输入,整得都没空搞DP。
GakkiGakki
·
2018-04-08 08:09
新しいスタート
【bzoj4771】七彩树 树链的并+STL-set+
DFS序
+可持久化线段树
题目描述给定一棵n个点的有根树,编号依次为1到n,其中1号点是根节点。每个节点都被染上了某一种颜色,其中第i个节点的颜色为c[i]。如果c[i]=c[j],那么我们认为点i和点j拥有相同的颜色。定义depth[i]为i节点与根节点的距离,为了方便起见,你可以认为树上相邻的两个点之间的距离为1。站在这棵色彩斑斓的树前面,你将面临m个问题。每个问题包含两个整数x和d,表示询问x子树里且depth不超过
GXZlegend
·
2018-04-04 10:00
【bzoj3881】[Coci2015]Divljak AC自动机+树链的并+
DFS序
+树状数组
题目描述Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的。接下来会发生q个操作,操作有两种形式:“1P”,Bob往自己的集合里添加了一个字符串P。“2x”,Alice询问Bob,集合T中有多少个字符串包含串S_x。(我们称串A包含串B,当且仅当B是A的子串)Bob遇到了困难,需要你的帮助。输入第1行,一个数n;接下来n行,每行一个字符串表示S_i;下一行
GXZlegend
·
2018-04-04 10:00
一个小trick
对于一个子树,在
dfs序
上一定时连续的一段。
Eliza_Her
·
2018-04-02 19:23
数据结构
【BZOJ】Kpm的MC密码-trie树+主席树+
dfs序
传送门:BZOJ-Kpm的MC密码题意现在定义这么一个概念,如果字符串s是字符串c的一个后缀,那么我们称c是s的一个kpm串。系统将随机生成n个由a…z组成的字符串,由1…n编号(s1,s2…,sn),然后将它们按序告诉你,接下来会给你n个数字,分别为k1…kn,对于每一个ki,要求你求出列出的n个字符串中所有是si的kpm串的字符串的编号中第ki小的数,如果不存在第ki小的数,则用-1代替。(比
ccosi
·
2018-03-30 22:25
主席树
trie树
BZOJ4756
其实一开始我没想出来只是想出了
dfs序
但后边就卡壳了然后看了题解恍然大悟其实就是一道挺水的题你先把
dfs序
找出来用树状数组来统计第一次入栈的时候统计比他大的树第二次出栈的时候统计比他大的树然后第二次减去第一次就是答案很有意思
Gipsy_Danger
·
2018-03-26 18:01
数据结构
New Year Tree CodeForces - 620E(
dfs序
+线段树)
TheNewYearholidaysareover,butReshadoesn’twanttothrowawaytheNewYeartree.HeinvitedhisbestfriendsKerimandGuraltohelphimtoredecoratetheNewYeartree.TheNewYeartreeisanundirectedtreewithnverticesandrootinthe
coldfresh
·
2018-03-19 18:27
线段树
dfs序
[BZOJ1103][POI2007]大都市meg(
dfs序
+树状数组)
题目:我是超链接题解:诶这不是链剖的基本操作吗?链剖那么长我才不想写咧其实这道题目确实有简单的方法的一开始除了1节点别的点对子树都有1的贡献,修改掉一条边之后,只会对深的那个点的子树造成-1的影响,此时查询in[x]的前缀和就是答案了代码:#include#includeusingnamespacestd;constintN=250005;inttot,nxt[N*2],point[N],v[N*
wwyx2001
·
2018-03-14 11:47
搜索(dfs序)
树状数组
[ZJOI2008]树的统计(树链剖分+线段树)
constintmaxn=1000005;intn,m,x,y,a[maxn],sum[maxnmaxnow){maxnow=tot[to];//这里是找儿子而不是找xson[x]=to;}}}}intcnt;//标记
dfs
A_Comme_Amour
·
2018-02-28 13:38
线段树
树链剖分
【BZOJ】[HAOI2015]树上操作-
DFS序
传送门:点击打开链接题意:有一棵点数为N的树,以点1为根,且树点有边权。有M个操作,分为三种:操作1:把某个节点x的点权增加a。操作2:把某个节点x为根的子树中所有点的点权都增加a。操作3:询问某个节点x到根的路径中所有点的点权和。数据范围:N,Musingnamespacestd;typedeflonglongll;constintN=1e5+2;intn,m,root=1,cnt,tot,in
ccosi
·
2018-02-27 21:47
线段树
[模板]树链剖分讲解与模板
即为该节点的重儿子重边:连接该节点与它的重儿子的边重链:由一系列重边相连得到的链轻链:由一系列非重边相连得到的链变量声明:son重儿子;tot子树的大小;top该点所在重链头;dfn遍历到的顺序(新的编号);id:
dfs
A_Comme_Amour
·
2018-02-27 07:03
模板
树链剖分
[
dfs序
线段树] LOJ#6276. 果树
考虑相同颜色的两种节点,这两个节点会把树分成三部分(左、中、右),左部分的点不能和右部分的点组成一种方案枚举每一个点,只要求出有多少个点能和它组成合法点对就行了枚举每一对颜色相同的节点,在
dfs序
上搞一搞就行了
LowestJN
·
2018-02-03 16:53
线段树
dfs序
[BZOJ4182]Shopping 点分治+
dfs序
+多重背包单调队列
考虑先枚举一个点必选,那么就是一个有依赖的多重背包(就是选了子树根才能选子树中的点),用一下树型背包的套路:先搞出
dfs序
,设fi,j表示考虑了
dfs序
后i个点,花了j的钱的答案,如果不选就跳过整棵子树的区间
DOFYPXY
·
2018-01-04 22:32
dp
树
dfs序
树分治
BZOJ3244:[Noi2013]树的计数 (树的遍历)
由于编号没有什么用,我们将BFS序强行设为1~n,并对应地改
DFS序
。现在我们考虑对着BFS序分层,每一层对应BFS序上的一个区间。然后要分析出一下三个结论:①:1号点单独分一层。②:如果i号点在
KsCla
·
2017-12-07 15:13
好题
模拟
BFS
构造解
suoj22 WRX知识树(非递归dfs+树上差分)
强行手动模拟dfs才能过呀x,为了保证
dfs序
的性质,我们要用双端队列呀x#include#include#include#includeusingnamespacestd;#definelllonglong
Icefox_zhx
·
2017-12-06 19:37
-----树-------
其他oj
搜索
差分
bzoj3551 [ONTAK2010]Peaks加强版(kruskal重构树+
dfs序
+主席树+树上倍增)
题意同bzoj3545,只不过强制在线了。那强制在线了怎么搞呢x,有一个神奇的东西,kruskal重构树,张这个样子:传送门。他有很多优美的性质:首先,他一定是一颗二叉树,然后所有叶子节点一定是原图中的点,从叶子节点往跟走,点权一定是单调不降的。如果原图中有n个点,则这棵树一定有n+n-1个点(因为你需要合并n-1次,也就新建了n-1个点)。然后对于这道题而言,你可以从v开始在树上倍增找到第一个小
Icefox_zhx
·
2017-12-04 19:04
-----树-------
bzoj
最小生成树
树上倍增
主席树
[hdu 6191 Query on A Tree] 字典树启发式合并
3.解题思路这题有两种思路:第一种方法是
dfs序
+可持久化字典树。第二种方法是离线
Xingw-Xiong
·
2017-11-08 13:13
ACM____数据结构
Jzoj5460【NOIP2017提高A组冲刺11.7】士兵训练
好长一道题结果发现就是个叫你求最大次大的东西我们跑出
dfs序
和主席树后,开始分类讨论1.只有一个节点2.有不止两个最大值,且在此子树外有l[i]不为0的节点3.只有一个最大值,而次大值+子树外l[i]的最大值不等于最大值
扩展的灰
·
2017-11-07 15:13
OI
数据结构
----线段树
--------可持久化线段树
----树链剖分/dfs序
Jzoj
支配树学习笔记
其中semi/sdom指的是最小的不经过dfs树上所有点而到达某个
dfs序
比这个点小的点,这个东西可以反序求:考虑任意一个点,它要么是直接到达这个目标点,要么经过某个比它大的点到达目标点,这两个值分别可以从它能直接到达的所有
djyanglinhan
·
2017-11-02 21:45
各类笔记
Danil and a Part-time Job (
dfs序
树型转线性 线段树区间修改区间查询)
E.DanilandaPart-timeJobtimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputDanildecidedtoearnsomemoney,sohehadfoundapart-timejob.Theinterviewhavewentwell,sonowh
Borrrrrrrrrrrram
·
2017-10-24 10:35
数据结构-树链剖分
NOIP 2015 Day2 T3 运输计划(二分+
dfs序
+树上差分+倍增LCA)
4、第一次DFS时记录一下每个点的
DFS序
,因为一棵子树的
DFS序
是
Amessal
·
2017-10-20 08:49
树上差分
Jzoj4727 挺进
使得剩下两个联通快的直径之和最大一看就是树形DP嘛,c1表示最长边c2次长,f表示父亲部分的最长路上面做法不讲,我们讲一种比较新奇的方法假设我们枚举断哪一条边,在lgn时间内求出两个联通快的直径不就行了嘛怎么做呢,我们发现,可以用树的
dfs
扩展的灰
·
2017-10-17 20:56
OI
数据结构
----线段树
求解策略
----动态规划
Jzoj
BZOJ4771:七彩树 (LCA+Treap+可持久化线段树)
只要将
DFS序
搞出来,就变成了一段区间中不同的数的个数,这个直接用可持久化线段树就可以解决了。有深度限制怎么办呢?我们可不可以按深度顺序将这些点加入主席树呢?答案是不可以的。因为以深度为顺
KsCla
·
2017-10-16 14:33
Lca
可持久化数据结构
treap
bzoj 1103(
DFS序
+树状数组)
传送门题意:两种操作:1.修改某条边的边权(0/1)2.询问某个点到1路径上的边权和题解:在
DFS序
上差分+树状数组。
KGV093
·
2017-10-13 11:11
数据结构
Paths 升级(
DFS序
+线段树+LCA+树形DP)
2015多校1Treechainproblem思路之前那道Paths的升级版在每一条链上加上了一定的权值然后求最大值其实就加了一个权值的条件但这样一来题目基本上是完全不一样了用贪心显然不行了在树上求最大值可以试一下树形DP定义dp[i]表示i的子树的最大值如果要选用一条链更新一个根节点的信息我们需要知道加上这条链的影响首先加上这条链的权值以及这条链上点的dp值(假设这些dp值已经更新了)定义sum
Eden_CY
·
2017-10-11 15:56
DP
——树形DP
图论
数据结构
——LCA
——线段树
DFS序
POJ-3321 Apple Tree (树状数组 前缀和
dfs序
)
AppleTreeTimeLimit:2000MSMemoryLimit:65536KTotalSubmissions:31249Accepted:9396DescriptionThereisanappletreeoutsideofkaka'shouse.Everyautumn,alotofappleswillgrowinthetree.Kakalikesappleverymuch,sohehas
Borrrrrrrrrrrram
·
2017-10-11 11:14
POJ
dfs序
树状数组
数据结构-树状数组
数据结构-树链剖分
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他