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序&树链剖分
[CF1110F] Nearest Leaf
Portal一棵n个点的有根树,规定一种
dfs序
,\(m\)次询问一个点\(u\)和一个区间\([l,r]\),求
dfs序
在这个区间内的叶子中,到\(u\)最小的距离。
dayfs2560
·
2020-08-13 13:16
【USACO 2011 December Gold】Grass Planting种草
树链剖分
题目描述农夫约翰有N块贫瘠的牧场(2#defineMaxn100005usingnamespacestd;inlineintGetint(){intx=0,f=1;charch=getchar();while('0'>ch||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while('0'Max){Max=size[y];son[x]=y;}}}voiddfs2(in
a15063149271
·
2020-08-13 12:31
Gym101889 - I Imperial roads(最小生成树,
树链剖分
)
链接:Gym101889题意:给出RRR条带权边,构建一棵N (2≤N≤105)N\,(2\leN\le10^5)N(2≤N≤105)个结点的最小生成树,共Q (1≤Q≤105)Q\,(1\leQ\le10^5)Q(1≤Q≤105)次询问,每次询问必选边(U,V)(U,V)(U,V)的最小生成树的边权和。分析:先不考虑必选边,建一棵最小生成树,对于询问必选边(U,V)(U,V)(U,V),找到最小
墓华
·
2020-08-13 12:12
★水题之路
★图论
#
【最小生成树】
树链剖分
原理、实现及例题
参考博文:http://www.cnblogs.com/George1994/p/7821357.html知识点重结点:子树结点数目最多的结点;轻节点:父亲节点中除了重结点以外的结点;重边:父亲结点和重结点连成的边;轻边:父亲节点和轻节点连成的边;重链:由多条重边连接而成的路径;轻链:由多条轻边连接而成的路径;dfs1用来计算出一些上述的值而dfs2则是从根节点开始,连重边成重链,以便于后面的线段
杏花疏影里_吹笛到天明
·
2020-08-13 11:55
树链剖分
追逐星光之路(OI旅程
与诸君共勉)
树链剖分
模板
树链剖分
:树上统计的一种优秀算法,基本思想是用将树切割成几段长链再配合数据结构转为区间问题。我使用了线段树,需要注意的是
树链剖分
的额外空间极大,需要尽可能压缩线段树的部分并无改动。关键在于剖分的过程。
bzcxl
·
2020-08-13 11:40
树链剖分
【例题】【
树链剖分
】
1、【USACO2011DecGold】种草时间限制:10000MS空间限制:65536KB问题描述农夫约翰有N块贫瘠的牧场(2y的情况,需特判#include#includeusingnamespacestd;constintneed=100004;//............................................inlinevoidinc(char&c){c=getc
Y__XV
·
2020-08-13 10:12
例题
树链剖分
数据结构
牛客练习赛1 树 dp +
dfs序
可以按照
dfs序
对树上的点一个个进行染色。这样对一个节点x进行染色的时候,它的父亲节点已经被染色了。
黑丝太白
·
2020-08-13 10:09
牛客竞赛
动态规划
思维
OI知识点总结(提高/省选-)
),差分约束最小生成树(kruskal、prim)矩阵树定理(生成树计数)拓扑排序二分图染色,二分图匹配tarjan找scc、桥、割点,缩点01分数规划树LCA(倍增,tarjan)树的直径、树的重心
dfs
stone41123
·
2020-08-11 18:01
随便写两句心情
ACM-自学之旅
分类知识清单数据结构链式前向星树状数组线段树线段树的区间合并基于ST表格的RMQ
树链剖分
树上差分图论最近公共祖先树的直径、树的重心与树的点分治树的最小支配集,最小点覆盖与最大独立集求无向连通图的割点数学鸽巢原理群和
bo o ya ka
·
2020-08-11 14:19
数据结构与算法
ACM算法学习路线、清单
DFS、IDDFS、IDA*、A*、双向BFS、记忆化最短路SPFA、bellman-fort(队列优化)、Dijkstra(堆优化)、Johnson、Floyd、差分约束、第k短路树树的重心和直径、
dfs
849175932
·
2020-08-11 13:53
算法
图论
程序人生
2020牛客暑期多校第二场 C - Cover the Tree(思维/贪心)
传送门实际上这题只要“乱搞”就行,一开始以为大佬们说的乱搞是
树链剖分
什么的,这些还没开始学。
Happig丶
·
2020-08-11 13:18
牛客比赛
2017江苏省赛总结
接下来我和UMR去做H题,发现是个
树链剖分
,想第三个题就是
树链剖分
?是不是不太可能,UMR让我先敲着,他再想想,敲完后发现过了示例。。然后交一发,RE。。多组输入忘记初
bless295
·
2020-08-11 11:09
ACM_心路历程
树链剖分
详解
食用之前请务必搞清楚线段树什么是
树链剖分
树链剖分
,它可以对一棵树进行轻重链剖分后用数据结构来维护每条重链。比如下面这个问题:假设每个点有一个点权。
ACFunction
·
2020-08-11 11:24
图论
NOIP提高组
ACM学习资源
学习
树链剖分
的博客http://blog.csdn.net/u013368721/article/details/39734871kuangbin的
树链剖分
专题http://acm.hust.edu.cn
_NMfloat_
·
2020-08-11 11:19
ACM
2020牛客暑期多校训练营(第二场)
如果有什么讲的不清楚的欢迎留言私信交流~文章目录D.Duration(签到)F.FakeMaxpooling(单调队列)C.CovertheTree(
dfs序
+思维)B.Boundary(计算几何)J.JustShuffle
我不会DP
·
2020-08-11 11:23
acm
牛客小白月赛12 H-华华和月月种树(
dfs序
+差分树状数组)
submissionId=40398427题解官方题解先离线把所有操作都读进来,把树形建好,处理
dfs序
注意到一棵子树的树根root
Code92007
·
2020-08-11 11:51
#
线段树/树状数组
#
#
差分
[hdu5405] sometimes naive——
树链剖分
+线段树
[hdu5405]sometimesnaiveProblemDescriptionRhasonCheunghadanaiveproblem,andaskedTeacherMaiforhelp.ButTeacherMaithoughtthisproblemwastoosimple,sometimesnaive.Sosheaskyouforhelp.Shehasatreewithnvertices,n
ylsoi
·
2020-08-11 05:10
线段树
NOI2013 树的计数
NOI2013树的计数给定一个
dfs序
和bfs序,求解符合这两个条件的所有树的平均树高。
ylsoi
·
2020-08-11 05:10
思维题
小H和游戏——
dfs序
+树状数组 | 思维
题解:解法一:树状数组(线段树)+
dfs序
这个题先讲相对而言时间复杂度比较高的解法,但是比较好想,容易理解。首先我们可以求出每个点的儿子编号的区间(类似于
dfs序
的操作)
木每立兄豪
·
2020-08-11 03:43
树状数组
杂记
树状数组
dfs序
思维
每日一题 4月7日 树
dfs序
+DP
题目链接:https://ac.nowcoder.com/acm/problem/13611#include#defineLLlonglongusingnamespacestd;constintmod=1e9+7;LLf[305][305];intmain(){intn,m;scanf("%d%d",&n,&m);f[0][0]=1;for(inti=1;i<=n;i++){for(intj=1;
H_ang
·
2020-08-11 03:45
树形dp
树dfs序
Codeforces 609E Minimum spanning tree for each edge
树链剖分
+RMQ(st算法)+最小生成树
思路这题思路不算太难想到,主要是第一次写
树链剖分
各种卡。。。这叫一个烦。。幸亏CF上可以看数据,要不然不知道调哪辈子去了。。。不瞎扯了,这题就是先跑一个最小生成树,得到权值A。
luke2834
·
2020-08-11 03:53
ACM_Codeforces
ACM_图论
ACM_DP
OI算法汇总
Link-Cut-Tree-可持久化数据结构-分块-KD树-可合并堆(左偏树)2.数学-组合数学-质数-模-数论函数-矩阵-博弈论3.图论-强连通分量(SCC)-拓扑排序-割点与桥-欧拉回路4.树-LCA-
树链剖分
yangle61
·
2020-08-11 01:24
一篇自己都看不懂的点分治&点分树学习笔记
淀粉质点分治可真是个好东西PartA.点分治众所周知,树上分治算法有$3$种:点分治、边分治、链分治(最后一个似乎就是
树链剖分
),它们名字的不同是由于分治方式的不同的。
weixin_30263073
·
2020-08-10 22:42
树链剖分
教程 & bzoj 1036 [ZJOI2008] 树的统计 Count 题解
转载请注明:http://blog.csdn.net/jiangshibiao/article/details/24669751【原题】1036:[ZJOI2008]树的统计CountTimeLimit:10SecMemoryLimit:162MBSubmit:4465Solved:1858[Submit][Status]Description一棵树上有n个节点,编号分别为1到n,每个节点都有一个
阿蒋
·
2020-08-10 22:10
bzoj题解
省选题解
2020暑期牛客多校训练营第七场(C)A National Pandemic(
树链剖分
)
ANationalPandemic原题请看这里题目描述:国家可以表示为nnn个节点n−1n-1n−1条边的图。F(x)F(x)F(x)表示节点xxx的疫情严重性。有以下三种修改/查询:疫情在xxx节点爆发,严重性为xxx,对于每个节点yyy,F(y)F(y)F(y)增加w−dist(x,y)w-dist(x,y)w−dist(x,y),其中dist(x,y)dist(x,y)dist(x,y)表示
2018summerljy
·
2020-08-10 20:50
A National Pandemic (
树链剖分
)
题解:
树链剖分
什么?你要看点分树做法?不会操作2很简单,维护一个delta,取min相当于减去当前自身的值,用delta记录进行当前操作时自身的值即可,操作3查询的时候直接减去就ok了。
gongyuandaye
·
2020-08-10 20:25
#
树链剖分
树链剖分
【模板】
树链剖分
模板题#include#include#includeusingnamespacestd;#definelchisiz[s1])s1=v;}son[x]=s1;}inlinevoiddfs1(intx,inttp){id[x]=++tot,top[x]=tp;if(son[x])dfs1(son[x],tp);for(inti=head[x];i!=-1;i=a[i].nt)if(a[i].to!
C20193620
·
2020-08-10 19:49
算法模板
树链剖分
[2019赛前冲刺]考试技巧及模版(第二部分)
文章目录4.数据结构相关4.1线段树4.1.1线段树维护与查询技巧4.1.2可持久化线段树4.1.3线段树合并4.2
树链剖分
4.3莫队/分块4.3.1分块4.3.2莫队4.4启发式合并/长链剖分4.5树状数组
C20190406Panda_hu
·
2020-08-10 19:29
赛前冲刺
【JZOJ6435】【luoguP5666】【CSP-S2019】树的重心
descriptionanalysis需要知道一棵树的重心一定在从根出发的重链上,可以考虑先进行
树链剖分
弄出重儿子和次重儿子,再倍增维护重儿子由于重链上有一个或两个重心,接下来求的重心都是深度较大的,只需判断其父节点是否也满足重心的性质即可现在要断掉一条边
路人黑的纸巾
·
2020-08-10 16:12
NOIP
树上倍增
树链剖分
牛客多校第七场C-A National Pandemic(
树链剖分
)
DescriptionSolution对operation-1f(y)←f(y)+w−dis(x,y)f(y)\getsf(y)+w-\operatorname{dis}(x,y)f(y)←f(y)+w−dis(x,y) =w−(dep(x)+dep(y)−2∗dep(lca(x,y)))\qquad\,\,=w-(dep(x)+dep(y)-2*dep(lca(x,y)))=w−(dep(x
ding_ning123
·
2020-08-10 16:38
2020牛客暑期多校训练营
树链剖分
入门详解
先抛出一个问题,一棵n个点的树,每个点有一个不变的权值,m次询问任意两点之间的权值和。最简单的算法:m次循环,每次从一个点出发,dfs累计走过的路径,直到到达另外一个点。intdfs(intx,intfa,longlongdeep){d[x]=deep;for(inti=head[x];i;i=nxt[i]){intu=to[i];if(u==fa)continue;dfs(u,x,deep+w[
Tekim
·
2020-08-10 14:56
c++
算法
树链剖分
树上差分(点覆盖/边覆盖)
树上差分树上差分实际上类似于
树链剖分
,将一条链分为轻链和重链,再分别对两个直链去做差分标记,最后再去对于每个点dfs他的子节点求树上前缀和.类似的题目自己做过的不多,这里推荐两道比较简单的题目,都是边覆盖问题
Murphyc
·
2020-08-10 14:13
树上差分
2020牛客第七场 C题 A National Pandemic(
树链剖分
+小技巧)
C题ANationalPandemic题意:一棵树,n个点,m个操作,操作有三种。操作1,给出x和w,将所有的点y的权值加上w-dis(x,y)。操作2,给出x,将x与0取min。操作3,给出x,求x的权值。n,m#include#includeusingnamespacestd;constintMAX_N=50100;intsize[MAX_N],wson[MAX_N],dfn[MAX_N],d
EDGiboy
·
2020-08-10 13:16
树
线段树 维护区间 覆盖 , 区间异或 ‘^' (待续)
some用途列举:LCA,对u,v两点间的路径都进行标记
树链剖分
,对u,v两点间的路径
castomere
·
2020-08-10 12:54
数据结构
2020牛客多校七 C A National Pandemic
https://ac.nowcoder.com/acm/contest/5672/C难点就是把操作1的式子变形到最后,w-dep(x)-dep(y)很好维护,2*dep(lca)用
树链剖分
来维护,好像是比较经典的
a-free-man
·
2020-08-10 12:02
树链剖分
链式向前星(数组模拟邻接表)
昨天遇见
dfs序
时不太会模拟,因为对出栈的点的顺序理解的不是很通透,全套板子。一步一步稳着来,zkw冲呀含义:链式向前星是一种特殊的边集数组,我们把边集数
在路上Ven
·
2020-08-10 12:31
图的存储
【
树链剖分
】
树链剖分
讲解
是什么?将树的所有边剖分成重边和轻边从而便于维护边权信息和进行修改,应对一系列大数据树上修改查询问题。为什么?如果不进行剖分代价会很大:对树上边(u,v)中的边权查询修改,必然要将边权建立成搜索树或查询树进行维护,对于所有边建立后对于(u,v)修改时只能将(u,v)中所有边进行遍历修改,最坏代价(退化成链)为n*查询修改代价。而如果把(u,v)中的边变成连续的一段区间,就会大大降低时间代价。怎么做
peter_819
·
2020-08-10 06:44
树链剖分
省选模拟赛20200417 B、树 (点分治+ST表 || 线段树分治+虚树)
题解一看就不会写了个60分的暴力就走人最后两分钟想到一个假的正解:换根维护线段树20200418:从早上9:00写到10:30,发现是有问题的因为换根时的修改区间在
dfs序
上,是连续的但是查询的区间只是编号连续
cqbzcsq
·
2020-08-09 18:32
数据结构
分治
c++
算法
分治
数据结构
hdu 5432 Minimum Cut
树链剖分
nlogn
给你一棵树,树上一些节点间会连额外的边,问只切一条树上的边,使整个图分为两部分,最少要切多少条边。因为限定了树上要切一条边,那么答案就是对于每条边,求被切开的两棵树之间连边的数量对于一条额外的连边ab,要使它变成连接两棵树的一条边,那么只可能是切掉了a->b链上的一条边,也就是说a->b链上的每条边都影响这条额外的边按这个思路,我们就可以求出树上每条边影响的额外边的数目,就是要将图分开两部分,切掉
zzblac
·
2020-08-09 16:42
2020牛客多校第四场A题 Ancient Distance
dfs序
+线段树+k级祖先
AncientDistance题意NNN个点以点111为根的树,在树上确定KKK个关键点,每个点的权值valvalval为点与点到根节点上碰到的第一个关键点的距离(若路径上没有关键点,那么权值为inf\infinf),答案为所有点中最大权值的最小值。现在求K=1,2,...,NK=1,2,...,NK=1,2,...,N的答案之和题解题意比较难理解,看看样例应该能懂如果确定KKK值,那么我们单次
linbinwu123
·
2020-08-09 15:23
树和森林
#
线段树
数据结构
[LNOI2014]LCA——
树链剖分
——多点LCA深度和问题
模板:题目链接进阶:题目链接题意:给定一棵nnn个点的树。qqq次询问,每次询问给出三个值l,r,zl,r,zl,r,z,要求出∑i=lrdep(LCA(i,z))\sum_{i=l}^{r}dep(LCA(i,z))∑i=lrdep(LCA(i,z))。(nusingnamespacestd;typedeflonglongll;constllmod=201314;typedefpairP;llt
Zimba_
·
2020-08-09 15:56
树链剖分
cf29d 深搜,
dfs序
#includeusingnamespacestd;#definemaxn500structEdge{intto,nxt;}edge[maxnv;voidinit(){memset(head,-1,sizeofhead);k=tot=0;}voidaddedge(intu,intv){edge[tot].to=v;edge[tot].nxt=head[u];head[u]=tot++;}boold
weixin_30765475
·
2020-08-09 13:33
HDU 3966 Aragorn's Story(
树链剖分
)
点权型
树链剖分
模板.
BellWind1995
·
2020-08-09 13:54
ACM
—
数据结构
POJ 3237 Tree(
树链剖分
模板)
给出一棵树,和3种操作:1.更改第i条边的权值;2.更改结点a到结点b所有边的权值为负;2.查询结点a到结点b所有边的权值的最大值.把一颗树hash成一维,在数组中,重链上的点一定是连续存储的.作为边剖分型,可以把边挂在儿子结点上,转化成点剖分型.另外还要注意的时,最后更新至两条路已经更新至拥有LCA时,由于边的特点,LCA(所代表的那条边)不能更新,所以要更新至LCA的下一个重儿子.但是这样会导
BellWind1995
·
2020-08-09 13:54
ACM
—
数据结构
2019牛客多校赛 第八场 H How Many Schemes(AC自动机 + 矩阵 + 向量 +
树链剖分
+ 线段树)
大致题意:给你一棵树,每条边上有一个字符串,然后有一些模式串。现在给你一个询问,问你u到v的路径上,每个条边任意选择一个字符,最后按照顺序组成一个字符串,最后的字符串包括至少一个模式串的方案有多少种。看起来很难的样子,写起来其实很复杂,但是理解清楚了其实思路也不太难。首先,既然涉及到匹配问题,而且是多个模式串,很容易想到对模式串建立AC自动机。然后这题模式串长度和不超过40,也很容易可以想到可以和
alpc_qleonardo
·
2020-08-09 13:21
线段树
树链剖分
---------Online
Judge--------
牛客
2019牛客多校赛
矩阵
AC自动机
Query on a graph HDU - 5957
pid=5957好想但是难写先求个生成树并把多余边记下来跑个bfs序并用线段树维护bfs序和
dfs序
略有不同对一个节点遍历一遍其所有子节点并取最小最大值会得到其一级子节点在bfs序中的区间再跑一遍就会得到二级子节点在
sunyutian1998
·
2020-08-09 12:21
线段树/树状数组/RMQ
UESTC summer training A 【
树链剖分
模板】
#include#include#include#include#includeusingnamespacestd;typedeflonglongll;voidread(int&x){x=0;charc=getchar();intflag=1;while(c'9'){c=getchar();if(c=='-')flag=-1;}while(c>='0'&&c<='9'){x=x*10+c-'0';
真·skysys
·
2020-08-09 10:41
算法与数学
树链剖分
+线段树 POJ3237 权值在边 模板
#include#include#include#include#include#include#include#include#includeusingnamespacestd;constintmaxn=100010;structEdge{intto;intnext;}edge[maxn*2];inthead[maxn],tot;inttop[maxn];//top[v]表示v所在的重链的顶端节
殇峰
·
2020-08-09 09:12
dfs序
基本类型 详细
参考
dfs序
七个经典问题——weeping本博文又名:手把手教你写树状数组1.单点修改,子树和查询单点修改,区间查询树状数组维护每个点的权值:1.修改x(增加w):单点修改——add(x,w);2.查询
kkkkahlua
·
2020-08-09 09:29
dfs
树状数组
zzulioj 1916 (
DFS序
树状数组)
TimeLimit:1SecMemoryLimit:128MBSubmit:228Solved:20SubmitStatusWebBoardDescription给一颗树,有n个结点,编号为1到n,1为根节点,有两种操作,1xy把x结点权值加y,2x查询x到根节点所有结点的权值和.每个结点权值初始化为0。Input第一行输入一个整数t,代表有t组测试数据。每组数据第一行为两个整数n,m代表结点个数
风吼迷林
·
2020-08-09 08:42
算法
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他