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
————树链剖分
几个
树链剖分
例题
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
-
线段树
树链剖分
例题
非常好的一个博客http://www.cnblogs.com/chinhhh/p/7965433.html权值在边,将权值映射在边的儿子节点就ok了以下题目来自kuangbin这些题目套上
树链剖分
的模板
wa自动机
·
2020-08-13 14:34
树链剖分
【TJOI2018】 异或(可持久化01Trie+
树链剖分
)
传送门【题目分析】可持久化Trie与主席树其实没啥太大的实现上的差别,因为一次只会插入一个串,也就只会在前一个版本的Trie上改变一条链,那么其他儿子就可以与主席树类似的操作直接继承。那么如何判断两个版本之间是否有一个串呢?我们对每个节点记一个size,只要后一个版本该节点的size>前一个版本该节点的size,那么就一定至少有一个串经过了当前节点。有了这个东西我们就可以直接根据dfs序建立可持久
Michael_GLF
·
2020-08-13 14:21
————数据结构————
树链剖分
Trie
总结:点分治学习笔记
这种算法的均摊的复杂度是:log这种算法和
树链剖分
的区别是1)
树链剖分
可以解决待修改问题2)点分治是解决计数类和全树路径的问题,
树链剖分
的路径是特殊的好的我们看一下点分治:例题:树中点对统计这个有~困难记录某个部分的所有路径然后暴力匹配这里有个减贡献的问题这个实际上会被计算是吧
Leo_JAM
·
2020-08-13 14: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
例题
树链剖分
数据结构
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
数据结构与算法
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
[hdu5405] sometimes naive——
树链剖分
+线段树
[hdu5405]sometimesnaiveProblemDescriptionRhasonCheunghadanaiveproblem,andaskedTeacherMaiforhelp.ButTeacherMaithoughtthisproblemwastoosimple,sometimesnaive.Sosheaskyouforhelp.Shehasatreewithnvertices,n
ylsoi
·
2020-08-11 05:10
线段树
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
树链剖分
【
树链剖分
】
树链剖分
讲解
是什么?将树的所有边剖分成重边和轻边从而便于维护边权信息和进行修改,应对一系列大数据树上修改查询问题。为什么?如果不进行剖分代价会很大:对树上边(u,v)中的边权查询修改,必然要将边权建立成搜索树或查询树进行维护,对于所有边建立后对于(u,v)修改时只能将(u,v)中所有边进行遍历修改,最坏代价(退化成链)为n*查询修改代价。而如果把(u,v)中的边变成连续的一段区间,就会大大降低时间代价。怎么做
peter_819
·
2020-08-10 06:44
树链剖分
hdu 5432 Minimum Cut
树链剖分
nlogn
给你一棵树,树上一些节点间会连额外的边,问只切一条树上的边,使整个图分为两部分,最少要切多少条边。因为限定了树上要切一条边,那么答案就是对于每条边,求被切开的两棵树之间连边的数量对于一条额外的连边ab,要使它变成连接两棵树的一条边,那么只可能是切掉了a->b链上的一条边,也就是说a->b链上的每条边都影响这条额外的边按这个思路,我们就可以求出树上每条边影响的额外边的数目,就是要将图分开两部分,切掉
zzblac
·
2020-08-09 16:42
[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
树链剖分
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自动机
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
论在LCT上下放标记
其实看起来最快的方法是先用O(n)的时间建成一棵平衡树,然后用类似
树链剖分
中轻重链剖分的办法,把这棵树剖成实链和虚
t14t41t
·
2020-08-08 21:32
动态树LCT
OI党坚毅的步伐
树链剖分
完全模板(子树查改+树链查改)
题目链接以洛谷题为原题。看代码。下面是模板代码(横线之外的为模板代码):/*--------------------1.mchange(x,y,v)树链更改(x,y)2.mask(x,y)树链查询(x,y)3.achange(x,v)子树更改x4.aask(x)子树查询x--------------------*/#include#include#include#include#include#i
KalznAsawind
·
2020-08-08 19:20
数据结构
Bzoj2819:Nim:
树链剖分
题目链接:Nim线段树维护异或值的沙茶题然而dfs会爆栈所以得开手工栈(见代码)#include#include#include#includeusingnamespacestd;constintmaxn=500010;inttot=0,h[maxn],ind=0,s[maxn],fa[maxn];structedge{intto,next;}G[maxns[k]&&dep[G[i].to]>de
TheWolfWhistlingSong
·
2020-08-08 19:32
OI
树链剖分
LCT 讲解 动态树的基本使用
Link-Cut-tree动态树解决树上问题的一种数据结构,没学过
树链剖分
的建议先学一下
树链剖分
。你们先假装会了
树链剖分
QwQ。
magic_sheep
·
2020-08-08 18:09
动态树
bzoj 3637: Query on a tree VI
树链剖分
&& AC600
3637:QueryonatreeVITimeLimit:8SecMemoryLimit:1024MBSubmit:206Solved:38[Submit][Status][Discuss]DescriptionYouaregivenatree(anacyclicundirectedconnectedgraph)withnnodes.Thetreenodesarenumberedfrom1ton.
alex151194310
·
2020-08-08 14:50
LCT动态树【史上最精简易懂的LCT讲解】
LinkCutTree(动态树,LCT)介绍首先简单介绍一下LinkCutTree,将一棵树分成轻边和重链,类似于
树链剖分
,但是树剖是静态的。LCT可以用于动态的加点和删点,甚至还可以换根。
aiweiluan5095
·
2020-08-08 14:14
【LCT】BZOJ2049[Sdoi2008]Cave 洞穴勘测
与
树链剖分
类似,LCT把最后一个访问的儿子做为重边(暂且将PerferredPath叫做重边吧QAQ)。对于一个由重边组成的链用序列之神Splay来维护。
RZXZ
·
2020-08-08 13:56
bzoj
LCT
BZOJ 3637: Query on a tree VI (
树链剖分
+树状数组)
BZOJ3637:QueryonatreeVI题意概述:给一棵n个结点的树,结点有黑白两色,一开始全为黑色.对于q个操作,每个操作由两个整数op,u给出.当op=0,将u点颜色反转.当op=1,求与u点相连的点的个数(若两点及两点间路径上均为同色点,则两点相连,否则不相连),即求从u点往四周扩散的同色块大小.题目分析:(初学链剖,戳开了这个题,然后……d了一天的bug)在网上找到了一篇题解,感觉思
The_useless
·
2020-08-08 13:07
数据结构-树链剖分
BZOJ
NOI2015总结
树链剖分
搞搞就好了T3……等我先A前两题半小时码掉T1,大样例都没测然后去切T2先写暴力诶呀加是加一条链,删是删一颗子树啊…看错题了一开始(
Tgop_Knight
·
2020-08-08 13:06
各类比赛
【LuoguP4719】动态DP模板-
树链剖分
+线段树+矩阵乘法
测试地址:动态DP做法:本题需要用到
树链剖分
+线段树+矩阵乘法维护动态DP。动态DP这个东西以前听过,但当时没有看懂,现在想来觉得是卡在矩阵乘法这个地方。这里用的不是传统的矩阵乘法。
Maxwei_wzj
·
2020-08-08 12:55
数据结构-线段树
算法-树链剖分
数学-线性代数
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他