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
ACM-树链剖分
树链剖分
模板
树链剖分
:树上统计的一种优秀算法,基本思想是用将树切割成几段长链再配合数据结构转为区间问题。我使用了线段树,需要注意的是
树链剖分
的额外空间极大,需要尽可能压缩线段树的部分并无改动。关键在于剖分的过程。
bzcxl
·
2020-08-13 11:40
树链剖分
ACM-
贪心之今年暑假不AC——hdu2037
今年暑假不ACProblemDescription“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《
ltree98
·
2020-08-13 10:04
ACM-贪心
漫漫刷题路
【例题】【
树链剖分
】
1、【USACO2011DecGold】种草时间限制:10000MS空间限制:65536KB问题描述农夫约翰有N块贫瘠的牧场(2y的情况,需特判#include#includeusingnamespacestd;constintneed=100004;//............................................inlinevoidinc(char&c){c=getc
Y__XV
·
2020-08-13 10:12
例题
树链剖分
数据结构
ACM-
计算几何之Toy Storage——poj2398
http://www.4shared.com/folder/yc1vvVlL/_20140419.htmlhttp://www.4shared.com/folder/n4oVZbIm/_20140419.htmlhttp://www.4shared.com/folder/JLLQD7aN/_20140419.htmlhttp://www.4shared.com/folder/ZnifiG3X/_2
tskdfvzw
·
2020-08-12 18:55
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
ACM-
博弈专题
基本解题思路(1)(1)(1)通过SGSGSG函数的转移解决问题。(2)(2)(2)寻找博弈模型(3)(3)(3)对称建立优势SGSGSG函数设NNN为先手必胜态,PPP为后手必胜态。SGSGSG函数主要利用了其定义以判断当前的胜负状态。往往最终局面的SGSGSG函数值被设为000,且当SGSGSG函数值为000时当前局面被认为是PPP状态,反之是一个NNN状态。这个结论是巧妙地和定义结合在一起的
月凉小朋友
·
2020-08-11 00: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题解
省选题解
ACM-
高精度模板(综合篇)
在这里,我们约定,能用int表示的数据视为单精度,否则为高精度。所有函数的设计均采用带返回值的形式。本文包含1.高精度加法2.高精度减法3.高精度乘法1)高精度乘高精度的朴素算法2)高精度乘高精度FFT优化算法3)高精度乘单精度4.高精度除法1)高精度除高精度2)高精度除单精度5.高精度取模1)高精度对高精度取模2)高精度对单精度取模6.高精度阶乘7.高精度幂8.高精度GCD9.高精度进制转换10
你迎哥哥
·
2020-08-10 22:03
模拟-高精度
模拟-进制转换
高精度
ACM-
模拟-找规律 HDU5573二进制应用
原理就是二进制的转换0001==8-4-2-1(奇数)01011==(16-8)+(4-2)+1(奇数)(首位不变)01010==((16+1)-8)+(4-2)+1(偶数)(首位加一)对于二进制数16==32-16==16==64-32-16所以,我们转换n的二进制,然后判断每一段的开头0和末尾1就好。。。我天真的以为这样就行了。。。但是还有1.n可能是负数—–用个标记jud,判断输出+/-就行
oliveQ
·
2020-08-10 21:26
算法题解
ACM-
补提交 (ZCMU-1617)
DescriptionTOM给自己定了一个宏伟的目标:连续100天每天坚持在zcmu上提交一个程序。100天过去了,tom查看自己的提交记录发现有N天因为贪玩忘记提交了。于是TOM要来M张"补提交卡"。每张"补提交卡"都可以补回一天的提交,将原本没有提交程序的一天变成有提交程序的一天。tom想知道通过利用这M张补提交卡,可以使自己的"最长连续提交天数"最多变成多少天。Input第一行是一个整数T(
舒然---小广广
·
2020-08-10 21:36
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
赛前冲刺
ACM-
最短路(SPFA,Dijkstra,Floyd)之最短路——hdu2544
***************************************转载请注明出处:http://blog.csdn.net/lttree***************************************最短路TimeLimit:5000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmissi
ltree98
·
2020-08-10 18:03
ACM-数据结构
漫漫刷题路
【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
树链剖分
acm-
最短路径算法
最短路径算法一、求出最短路径的长度以下没有特别说明的话,dis[u][v]表示从u到v最短路径长度,w[u][v]表示连接u,v的边的长度。1.Floyed-Warshall算法O(N3)简称Floyed(弗洛伊德)算法,是最简单的最短路径算法,可以计算图中任意两点间的最短路径。Floyed的时间复杂度是O(N3),适用于出现负边权的情况。算法描述:初始化:点u、v如果有边相连,则dis[u][v
agarophobia
·
2020-08-10 11:45
【
树链剖分
】
树链剖分
讲解
是什么?将树的所有边剖分成重边和轻边从而便于维护边权信息和进行修改,应对一系列大数据树上修改查询问题。为什么?如果不进行剖分代价会很大:对树上边(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自动机
ACM-
模拟/搜索 codeforces Lucky Numbers 95B
题意:找一个大于等于k的幸运数(由4,7组成,且4,7的个数相同)找了很久很久很久很久的bug,发现是最后填充判断的锅我再也不用while(x>0)了=========================请用while(x-1>0)代码#include#include#include#defineinf0x3f3f3f3f#definemem(x,y)memset(x,y,sizeof(x))usin
oliveQ
·
2020-08-09 12:05
算法题解
ACM-
乘法逆元
乘法逆元写在前面:本文借鉴了正义小学生的博客(1)何为乘法逆元?在(modp)的意义下,如果a*a’=1,那么我们就说a’是a的逆元。同时容易理解:a也为a’的逆元。有乘法逆元的前提是:a,p互质,若a,p不互质,也就意味着不存在a的乘法逆元。(2)乘法逆元的性质:本文只选出最重要的几个性质进行说明:1.存在唯一性:对于a来说,如果他有逆元,则它只能有一个逆元。证明:我们先假设aa有两个不相等逆元
Chillstepp
·
2020-08-09 11:05
算法
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
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他