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序&树链剖分
CodeForces 620E New Year Tree
线段树+位运算首先对树进行DFS,写出
DFS序
列,记录下每一个节点控制的区间范围。然后就是区间更新和区间查询了。某段区间的颜色种类可以用位运算来表示,方便计算。
weixin_34008805
·
2020-08-17 03:00
Educational Codeforces Round 47 (Rated for Div. 2)F详解
所以我们可以运用
树链剖分
的一个思
大学要有梦想
·
2020-08-17 01:33
比赛总结
CodeForces 384E Propagating tree 树状数组
dfs序
组合使用
PropagatingtreeCodeForces-384E题意:有一棵树,上面每个点都有一个权值,这棵树有两种操作:1.输入1xval表示把第x个点权值加上一个val,对于每个点,它权值改变了,val,则它的儿子权值改变-val一直更新权值直到叶子节点2.输入2x,表示查询第x个点的权值对于操作一,会发现,它是分层进行操作的,把层分为奇偶层,如果当前操作为奇数层+val,那么它下面的所有奇数层都
LinzhiQQQ
·
2020-08-16 23:19
ACM-
树状数组
CodeForces - 383C Propagating tree (
DFS序
+线段树)
所以我们可以根据结点深度的奇偶性,通过
DFS序
建立两颗线段树。将操作一和二化为线段树区间修改,单点查询的操作。注意特判只有一个
azure1cloud
·
2020-08-16 23:08
—————数据结构—————
>树形转线形<
DFS序
[codeforces383C - Propagating tree]
dfs序
+segment tree
C.Propagatingtreetimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputIahublikestreesverymuch.Recentlyhediscoveredaninterestingtreenamedpropagatingtree.Thetreeco
ALPS233
·
2020-08-16 23:09
Segmet
Tree
【HDU】5574 Colorful Tree【子树染色,询问子树颜色数——线段树+bit+lca+set】
题目分析:set维护每种颜色所在的
dfs序
区间,修改均摊nlogn。
poursoul
·
2020-08-16 08:59
线段树
树状数组
最近公共祖先【LCA】
set
割点
dfs寻找割点,其实运用到了
dfs序
的性质,即当判断x是否为割点时,要保证low[x]的值为不通过节点x,x以及
AisingioroHao
·
2020-08-15 14:59
图论
LCT模板及详细讲解
2、询问从点u到点v的路径上的节点的最大权值3、询问从点u到点v的路径上的节点的权值和如果学过
树链剖分
的话此题是可以轻易地解决的,可引入LCT解此题。
HermioneL
·
2020-08-15 13:03
BZOJ
LCT
OI
CF383C Propagating tree【线段树】
题意:一棵树,两个操作:1.给一个节点加val,下面一层的节点减val,再下面一层加val,以此类推2.查询某节点的值思路:
dfs序
处理,把节点分为奇数层与偶数层。
wjw1340
·
2020-08-15 12:01
线段树
hdu5390 tree
先求出
dfs序
,然后建立线段树,线段树每个节点套一个set。修改操作只需要改被子树区间完全覆盖的线段树节点,将其节点中set的原来的值删除,加入新值。
weixin_30709635
·
2020-08-15 11:33
BUPT Summer Training #7 for Grade 14 题解
自己在纸上推推公式,很容易就能知道为何是对的了这里用两个树状数组即可维护,当然增加整棵子树的操作就是预先处理
dfs序
,将树转化为线性,然后在
朽弈
·
2020-08-15 11:26
ACM之路
ACM
C++
算法
【SPOJ QTREE】
树链剖分
模板
用线段树求解,这里注意由于求的是路径最大值,注意一下细节。#include#include#includeusingnamespacestd;constintMAXN=10010;#definelson(posnum[son[u]])son[u]=v;//找重儿子}}}voidgetpos(intu,intsp){top[u]=sp;p[u]=pos++;//printf("%d%d\n",u,p
KinderRiven
·
2020-08-15 11:21
数据结构
洛谷 P3384
树链剖分
(详解)
题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1:格式:1xyz表示将树从x到y结点最短路径上所有节点的值都加上z操作2:格式:2xy表示求树从x到y结点最短路径上所有节点的值之和操作3:格式:3xz表示将以x为根节点的子树内所有节点值都加上z操作4:格式:4x表示求以x为根节点的子树内所有节点值之和输入格式:第一行包含4个正整数N、M、R、P
riba2534
·
2020-08-15 11:08
【树链剖分】
HDU 5390 :tree(线段树离线分治 + 01字典树)
既然修改一个点会影响到它的子树的答案,考虑按
dfs序
来维护一棵线段树,每次将修改更新到它的
dfs序
区间。要使得异或上某个值最大,需要用到01字典树,可以线段树的每一个结点维护一棵01字典树,每
猝死在学ACM的路上
·
2020-08-15 11:12
01字典树
树链剖分
正确的入门姿势
树链剖分
并不是一个复杂的算法或者数据结构,只是能把一棵树拆成链来处理而已,换一种说法,
树链剖分
只是xxx数据结构/算法在树上的推广,或者说,
树链剖分
只是把树hash到了几段连续的区间上。
小布丁童学
·
2020-08-15 11:50
树(
树链剖分
)
树解:傻逼的我考试的时候去写这道题,没调出来,结果爆零了-_-其实思想是很好懂的,一眼是一个树剖,然后陷入了无尽的推式子中。其实没写出来还有很大一部分原因是因为我数学太菜了,写到一半发现推错,又重新推,又推错……不过写了好几道树剖,好歹有一道会的了。首先我们可以很容易想到一种预处理的方法:记录每个点uu为根到子树里所有路径的和(unqrt(u))(unqrt(u))&平方和(qrt(u))(qrt
lvmaooi
·
2020-08-15 11:12
数据结构
HDU5390 Tree(线段树 + Trie)
[x]^val[v]},v是x到根节点上路径上的点0xy:将节点x的权值改为y,即val[x]=y思路:查询x到根节点的路径上的点的影响,可以转换为每次修改一个点给这个点的子树中每个点都影响,这样跑出
dfs
hnust_W_unc_h
·
2020-08-15 10:13
数据结构
树链剖分
详解
树链剖分
,正如其名,这个算法的主要思想就是把“树”“剖分”成“链”那怎么实现以及它的作用是什么呢,以洛谷上的模板题为例子:已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作
Hypoc_
·
2020-08-15 10:22
#
数据结构
CodeForces770C【强连通分量+
DFS序
】
然后就是对每个main课程DFS搜,然后就好啦,然后智障的窝第一次发现这个拓扑排序的逆序竟然是
DFS序
。。
keyboarder_zsq
·
2020-08-15 10:37
codeforces
DFS
codeforces
dfs
poj3694 Network Tarjan+
树链剖分
嗯就如上一篇所说,我们缩完点之后,就成为了一棵树,然后每个点权对应它到他的父节点的边是否狗带,然后每次LCA在链上乱跳的时候维护下清空标记就行了,qlog^2n的果然跑得快,172ms。。。。。。Problem:3694User:BPM136Memory:19208KTime:172MSLanguage:G++Result:AcceptedSourceCode/******************
BPM136
·
2020-08-15 10:46
树链剖分
图论
线段树
poj3694 Network Tarjan(
树链剖分
)
显然我们Tarjan桥边然后爆搞LCA。。。等等!这不是O(nq)的吗?嗯。。。。。799ms==每次缩点复杂度。。。不会证啊==我们还是考虑树剖吧,先Tarjan,然后缩点,这成为了一个树,乱搞LCA,然后我们维护重链的答案,维护清空标记,显然这就是一个裸的树剖。这样复杂度就是O(qlognlogn)的了,这样才对嘛然而已经成为了一个退役狗还是不在熄灯之前折腾自己了,有空再补代码。前面检查Tar
BPM136
·
2020-08-15 10:45
树
LCA
图论
HDU5390 tree
dfs序
+线段树分层离线+字典树求异或最大值
treeTimeLimit:16000/8000MS(Java/Others)MemoryLimit:262144/262144K(Java/Others)ProblemDescriptionGivenarootedtree(node1istheroot)withnnodes.Theithnodehasapositivevalueviatbeginning.Wedefinetheuniversal
上决FX
·
2020-08-15 10:52
数据结构
JZOJ 3338. 【NOI2013模拟】法法塔的奖励
nlognnlognnlognSolutionSolutionSolutionmd要不是最后那句话我这道题绝对是最快最优解,艹首先这就是一道二维偏序嘛(一维是权值,另一维是dfndfndfn),所以我们按dfsdfs
dfs
ssl_xxy
·
2020-08-14 22:15
线段树
平衡树
单调队列
CDQ分治
JZOJ
3338
NOI2013模拟
法法塔的奖励
法法塔的奖励
水你可以搞
dfs序
你可以搞Treap的启发式合并你可以搞线段树合并#include#include#definefo(i,a,b)for(i=a;imid)returnquery(right[x],mid
WerKeyTom_FTD
·
2020-08-14 15:08
线段树
treap
dfs序
Aragorn's Story
树链剖分
+线段树 &&
树链剖分
+树状数组
Aragorn'sStory来源:http://www.fjutacm.com/Problem.jsp?pid=2710来源:http://acm.hdu.edu.cn/showproblem.php?pid=3966这题就是一个模板题,模板调过了就可以过#pragmacomment(linker,"/STACK:102400000,102400000")#include#include#incl
dingshen9942
·
2020-08-14 10:33
【CF917E】Upside Down(哈希二分)(后缀数组)(AC自动机)
在链上的可以直接建立正反AC自动机,然后树上DFS的同时AC自动机中
DFS序
+差分算一下出现次数即可。考虑横跨LCA的情况,找出u->LCA的后缀能匹配的最长前缀和LCA->v的前缀能匹配的最长后缀。
zxyoi_dreamer
·
2020-08-14 08:39
后缀数组SA
AC自动机
[POJ 3694]Network(Tarjan+并查集+LCA 动态加边求图中桥的个数)
1≤|V|≤100000,1≤|E|≤200000,1≤q≤1000思路对于初始的图,用tarjan算法生成一棵DFS树以及其
DFS序
,并同时求出最开始时整张图中的桥的个数,将除了
我是傻叉
·
2020-08-14 07:11
ACM-ICPC
图论
传统题
动态图问题(Link-Cut
Tree等)
POJ
LOJ147
dfs序
4 题解(
dfs序
+树状数组+树上差分)
题目:LOJ147.题目大意:给定一棵nnn个点的树,要求支持以下操作:1.格式1 a x1\,a\,x1ax,表示将点aaa的点权增加xxx.2.格式2 a x2\,a\,x2ax,表示将点aaa的子树增加xxx.3.格式3 a b3\,a\,b3ab,表示查询链(a,b)(a
hezlik
·
2020-08-14 06:56
【毒链剖分】
树链剖分
这是个让初学者望而却步的东西,不管打了多少次,也很难一遍过(我太弱了)根据这个树锯结构可知,这是个锯树结构。
华恋~韵
·
2020-08-14 06:22
BZOJ4012: [HNOI2015]开店 重链剖分 可持久化线段树
那题是离线排序做,那么对于这题用可持久化线段树来维护
树链剖分
就可以了。#include#
Mima_Reincarnation
·
2020-08-14 06:24
树链剖分
可持久化数据结构
BZOJ做题纪录
codeforces-375D-树上莫队
题目大意:给定一棵有根树,每次询问一个节点的子树中颜色数大于等于k的颜色总数;题目解析:搞出
dfs序
,其实就变成序列了,莫队也很好写,开个cnt数组记录颜色种数,再开个least数组记录至少i个的颜色个数
zyz_3_14159
·
2020-08-14 00:19
莫队
树链剖分
例题(老师文档)
我们的主角是来自魔界,英俊的人类王子阿拉贡。有一天,阿拉贡发现许多想侵入他王国的敌人。正如阿拉贡所知道的那样,敌人有N个营地离开他的王国,M条边连接他们。这是保证,对于任何两个阵营,有一条,只有一条路径连接它们。起初,阿拉贡人知道每个阵营的敌人数量。但敌人是狡猾的,他们会增加或减少营地中的士兵数量。每当敌人改变士兵数量时,他们将设置两个阵营C1和C2。然后,对于C1,C2和C1至C2路径上的所有阵
xby_fx
·
2020-08-13 23:51
树
[TJOI2018]异或
树链剖分
+可持久化Trie树
树上操作时可以用
树链剖分
转化为序列形式,然后建Trie树就行了。其实就是两个版子。
Exception2017
·
2020-08-13 21:36
树链剖分
Trie/可持久化Trie
树形依赖背包dp的最优解问题
fij表示在
dfs序
序列上做了前i个点,已经选择了j个人的最大权值和。
weixin_30954265
·
2020-08-13 21:38
(树状数组差分维护
DFS序
+LCA+细节处理)
4999:ThisProblemIsTooSimple!TimeLimit:10SecMemoryLimit:256MBDescription给您一颗树,每个节点有个初始值。现在支持以下两种操作:1.Cix(0usingnamespacestd;#definelowbit(x)x&(-x)inlineintread(){intx=0,f=1;charch=getchar();while(ch'9'
weixin_30517001
·
2020-08-13 20:48
Codeforces Round #442 (Div. 2)A,B,C,D,E(STL,dp,贪心,bfs,
dfs序
+线段树)
A.Alexandbrokencontesttimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputOnedayAlexwascreatingacontestabouthisfriends,butaccidentallydeletedit.Fortunately,allt
weixin_30415113
·
2020-08-13 20:31
[CSU - 1811 (湖南省赛16)] Tree Intersection (
dfs序
维护子树+离线询问+树状数组)
CSU-1811(湖南省赛16)给定一棵树,每个节点都有一个颜色问割掉任意一条边,生成的两个子树中颜色集合的交集大小这个是
dfs序
处理子树+离线询问+bit维护的解法首先问题转化为求解一个子树中有多少种颜色以及独有颜色的数量用总的颜色数量减去独有颜色数量即为这棵子树的答案先做一遍
mis_deer
·
2020-08-13 19:09
技巧
树状数组
树链剖分
习题
(先记录一下有几个好题,以后会慢慢做完)1.洛谷P2486染色2.洛谷P3187树上操作一开始中间查询值的函数query中ans定义的是int类型,然后就错了,只对了5个测试点,后面改为longlong之后才对。#include#include#include#include#include#include#definels(rtg[2000000];templatevoidread(tp&dig
风灵无畏YY
·
2020-08-13 19:14
树链剖分
NOI模拟(5.23) TJOID2T2 xor (bzoj5338)
Xor题目背景:5.23模拟TJOI2018D2T2分析:
树链剖分
+可持久化trie一个子树查询一个链查询,妥妥的
树链剖分
,对于异或最大的数,显然是trie上高低位贪心就可以了,然后因为区间查询,那么可持久化就好了
scarlyw
·
2020-08-13 18:16
NOIP解题报告
树链剖分
trie
补题清单
C:LivestockLineupD:MooBuzzE:Meetings思维,蚂蚁相遇+二分F:MilkPumping贪心+dijk+并查集G:MlikVistslca/
树链剖分
/主席树H:MoortalCowmbat
qq_46580275
·
2020-08-13 18:59
树链剖分
模板题(CodeForces - 343D Water Tree )
学懂后觉得不难,本人理解
树链剖分
本质上其实还是线段树,只不过通过对轻重链的划分,让树上节点连续化,以保留树上信息。从而使对树上链状的节点的修改连续化,使区间维护成为可能。可以去大佬博客学一下。
KalznAsawind
·
2020-08-13 17:08
数据结构
【点分治】【点分治序】BZOJ3784 树上的路径
分析:首先,定义点分治序为:每次找到重心后,以重心为根,当前子树的
DFS序
。每一个重心的DFN序次连接,就组成了点分治序。显然,点分治序的长度是NlogNNlogNNlogN级的。
616156
·
2020-08-13 17:36
点分治
图论
dfs序
题集
dfs序
可以维护一个子树内的信息需要记录dfs进的时间以及所有子树都遍历完的时间voiddfs(intu,intfa){L[u]=++id;for(inti=head[u];~i;i=e[i].next
Sugewud
·
2020-08-13 17:33
题型总结
几个
树链剖分
例题
Codeforces343DWaterTreeLuoguP4315月下”毛景树”LuoguP3979遥远的国度LuoguP2486染色
树链剖分
把我写吐了.为了研究这个东西花费了我4天的时间.后面我的代码是对的
Fuko_Ibuki
·
2020-08-13 16:51
树链剖分
数据结构
Gym - 101889I Imperial roads (
树链剖分
维护边权最大值)
直接上
树链剖分
即可。#includeusingnamespacestd;constintMAXN=400005;typedeflonglongll;map,int>mp;structedge{i
LP_Cong
·
2020-08-13 15:41
————ACM相关————
——图论相关——
ACM
-
最小生成树
ACM
-
树链剖分
ACM
-
线段树
一类有依赖的树形DP
Text这类问题通常形式是给定一棵树,父亲选了儿子才能选,求最优解或者方案数进行DP考虑到如果直接枚举每一个儿子与父亲的转移,状态非常大,一般是难以跑过的
DFS序
对于树上的问题,可以考虑用
DFS序
来做。
BAJim_H
·
2020-08-13 14:40
学习小记
————树形dp
dp
树形DP
动态规划
树链剖分
例题
非常好的一个博客http://www.cnblogs.com/chinhhh/p/7965433.html权值在边,将权值映射在边的儿子节点就ok了以下题目来自kuangbin这些题目套上
树链剖分
的模板
wa自动机
·
2020-08-13 14:34
树链剖分
【TJOI2018】 异或(可持久化01Trie+
树链剖分
)
有了这个东西我们就可以直接根据
dfs序
建立可持久
Michael_GLF
·
2020-08-13 14:21
————数据结构————
树链剖分
Trie
总结:点分治学习笔记
这种算法的均摊的复杂度是:log这种算法和
树链剖分
的区别是1)
树链剖分
可以解决待修改问题2)点分治是解决计数类和全树路径的问题,
树链剖分
的路径是特殊的好的我们看一下点分治:例题:树中点对统计这个有~困难记录某个部分的所有路径然后暴力匹配这里有个减贡献的问题这个实际上会被计算是吧
Leo_JAM
·
2020-08-13 14:16
点分治
【CF768G】The Winds of Winter 可持久化线段树
DFS序
n≤100000题解首先用
DFS序
+可持久化线段树求出删掉这个点后剩下的联通块的大小的最大值max、次大值sec、最小值min。
ez_yww
·
2020-08-13 14:33
数据结构
数据结构--线段树
数据结构--可持久化数据结构
dfs序
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他