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-树链剖分
树链剖分
这几天跟lxn学了一下
树链剖分
(当然ljm小儿子是我的主讲老师啦,还是要感谢的),感觉挺简单的,怕忘在此记录一下。
DYP_SimonGreenall
·
2017-08-10 20:29
C++
POJ - 2763
树链剖分
树链剖分
(轻重链剖分)仔细想想自己第一次听说这个这个数据结构大概有两年半的时间了然而一直不会.不过现在再回头来看发现其实也不是很麻烦首先在学
树链剖分
之前最好先把树形以及序这三个知识点学了如果这三个知识点没掌握好的话
树链剖分
难以理解也是当然的
Sherlock_n
·
2017-08-09 19:58
ACM-树链剖分
【BZOJ3626】LCA(
树链剖分
)
传送门LCAIthink%%%:(清华爷题解)考虑这样的一种暴力,我们把z到根上的点全部打标记,对于l到r之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是上面有几个已标记了的点(包括自身)。所以,我们不妨把z到根的路径上的点全部+1,对于l到r之间的点询问他们到根路径上的点权和。仔细观察上面的暴力不难发现,实际上这个操作具有叠加性,且可逆。也就是说我们可以对于l到r之
Etta19
·
2017-08-08 17:09
树链剖分
树链剖分
模板题(luogu3384 【模板】
树链剖分
)
题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1:格式:1xyz表示将树从x到y结点最短路径上所有节点的值都加上z操作2:格式:2xy表示求树从x到y结点最短路径上所有节点的值之和操作3:格式:3xz表示将以x为根节点的子树内所有节点值都加上z操作4:格式:4x表示求以x为根节点的子树内所有节点值之和输入输出格式输入格式:第一行包含4个正整数N
forever_piano
·
2017-07-27 20:13
Codeforces Round #425 (Div. 2) D.Misha, Grisha and Underground
我奇特的脑回路的做法就是
树链剖分
+树状数组树状数组是那种区间修改,区间求和,还有回溯的当我看到别人写的是lca,直接讨论时,感觉自己的智商收到了碾压。。。
basasuya
·
2017-07-25 23:00
bzoj3289 树状数组+莫队
这是本蒟蒻的第一篇博客,在此手动庆祝一下~~其实今天本来想写一道
树链剖分
的题但是一直没过(蒟蒻的无奈)……所以只好写前几天莫队的题解啦这道题分为两个知识点,树状数组和莫队1。
五彩蒟蒻DDD
·
2017-07-21 21:25
莫队
树状数组
【BZOJ3531】旅行(线段树)
算法:线段树(动态开点)+
树链剖分
实现:对每一种c2(信仰)建立线段树,维护以之为信仰的城市的c1。Attention!
Etta19
·
2017-07-20 10:03
线段树
树链剖分
spoj-QTREE3 LCT
对于
树链剖分
的做法也很容易理解,就是剖分不停在向上爬的时候类似于二分查找去寻找第一个出
WJSZMRX
·
2017-07-08 10:46
线段树
经典问题
Splay
LCT介绍
LCT=link-cut-tree在
树链剖分
里我们把树按dfs序换成连续序列,再来解决树上两点间路径操作的问题。很明显,假如树的结构变了,那么原来的
树链剖分
就GG了。
WJSZMRX
·
2017-07-07 20:59
其它
经典问题
Splay
树链剖分
【知识点】+【模板】
知识点讲解链接简单模版QTREE-QueryonatreeYouaregivenatree(anacyclicundirectedconnectedgraph)withNnodes,andedgesnumbered1,2,3…N-1.Wewillaskyoutoperfromsomeinstructionsofthefollowingform:CHANGEiti:changethecostofth
qq_37383726
·
2017-06-13 22:00
结构的模版
线段树
树链剖分
bzoj 3862: Little Devil I (
树链剖分
+线段树)
题目描述传送门题目大意:给出一棵n个点的树,有三种操作。操作1:把x,y路径上所有边反色操作2:把x,y路径上所有相邻的边反色,即一个点在路径上操作3:询问x,y路径上黑边的个数。注意刚开始的时候所有边均为白色。题解操作1,3都是基本的操作,关键就是2.对于每个点维护这个点的轻儿子是否要反色。每次修改的时候直接区间修改即可。两条重链相连的轻边需要特判。路径的顶点到他父亲之间的边也需要特判。每次计算
clover_hxy
·
2017-06-06 08:00
线段树
树链剖分
lct学习小记
一般我们做树上的某些奇奇怪怪的值都是用
树链剖分
加线段树,这已经可以维护许多东西了。可是这个算法有一个缺陷,就是如果树的形态会发生改变的话,就不用玩了。动态树呢是一类牛逼的问题。
Cold_Chair
·
2017-06-03 18:55
信息学
数据结构
lct
splay
模板
模版
splay
lct
*线段树&&主席树&&可持久化线段树
把
树链剖分
先传上来了,用的还是线段树区间修改。然而我并没有传线段树。。。(所以说那份代码是py来的。。。)
DCDCBigBig
·
2017-05-23 20:54
算法-数据结构
*线段树&&主席树&&可持久化线段树
把
树链剖分
先传上来了,用的还是线段树区间修改。然而我并没有传线段树。。。(所以说那份代码是py来的。。。)
DCDCBigBig
·
2017-05-23 20:54
算法-数据结构
*
树链剖分
今天是2017/5/22,DCDCBigBig的第九篇博文
树链剖分
(+线段树)//hdu3966#include#include#include#include#include#pragmacomment
DCDCBigBig
·
2017-05-22 21:03
算法-图论
[BZOJ3159]决战(
树链剖分
+Splay)
======这里放传送门======题解树链增加一个值,树链求和求最大最小值?似乎要用链剖啊但是这个翻转操作是什么鬼链剖不一般都是搭配线段树食用的么→_→好吧强行套上平衡树方法蠢到家了,就是把要翻转的那一条链一块块揪出来按顺序拼成一大棵Splay然后打上翻转标记再一块块塞会原来的地方。。不过这个题目的一个方便之处就是翻转操作一定是到根的一条路径,所以它保证了区间的顺序,否则因为一交换x和y它顺序就
FromATP
·
2017-05-05 14:14
BZOJ
不知道加什么形容词的树链剖分
难写难调的平衡树
51Nod 算法马拉松24
A:构造B:状压DPC:构造D:线段树或平衡树E:
树链剖分
+线段树F:UnfinishedA1804小C的多边形强行猜了一个结论,试了一下小数据发现没问题,那就假装没问题吧……就是外面一圈1~n-1,里面把
Endless_Way
·
2017-05-01 01:30
系列套题
洛谷P3384【模板】
树链剖分
(
树链剖分
)
题目题目传送门题解
树链剖分
模板题,积累一下模板代码#include#include#include#include#include#defineN100005usingnamespacestd;intn
AbEver
·
2017-04-28 11:08
树链剖分
[BZOJ4353]Play with tree(
树链剖分
+线段树)
题目描述传送门题目大意:给出一棵包含N个节点的树,设每条边一开始的边权为0,现在有两种操作:1)给出参数U,V,C,表示把U与V之间的路径上的边权变成C(保证C≥0)2)给出参数U,V,C,表示把U与V之间的路径上的边权加上max(C,路径上边权最小值的相反数)。你需要统计出每次一操作过后树中边权为0的边有多少条。题解线段树维护区间最小值,区间最小值的个数,区间中为0的数的个数好想好写,细节比较多
Clove_unique
·
2017-04-24 07:35
题解
线段树
树链剖分
bzoj 4012: [HNOI2015]开店 (
树链剖分
+主席树)
题目描述传送门题解这道题维护和求解的方法和bzoj3924:[Zjoi2015]幻想乡战略游戏是类似的。但是这道题有一个[L,R]的区间限制,所以我们用主席树来维护,外层是按照离散化后的xi从小到大,内层是dfs序。代码#include#include#include#include#include#defineN300010#defineLLlonglongusingnamespacestd;i
clover_hxy
·
2017-04-19 18:55
树链剖分
主席树
bzoj 4353: Play with tree (
树链剖分
)
题解
树链剖分
。边权下放为点权。然后用线段树维护区间最小值,区间最小值的个数,以及区间
clover_hxy
·
2017-04-19 10:50
树链剖分
bzoj 3159: 决战 (
树链剖分
+splay)
题目描述传送门题解其实就是之前用线段树维护的东西改成用splay维护比较麻烦的就是翻转操作,需要把翻转的位置提出来插入的另一个splay中,翻转后再插回去具体的细节还是见代码吧。代码#include#include#include#include#include#defineN100003#defineinf1000000000#defineLLlonglongusingnamespacestd;
clover_hxy
·
2017-04-18 16:56
平衡树
树链剖分
bzoj 4811: [Ynoi2017]由乃的OJ (
树链剖分
)
同样的每一位也是互补影响的,那么最基础的思路就是对于每一位分开维护,对于树进行
树链剖分
,对于线段树中的区间维护以0,1打头从左到右和从右到左分别计算出的答案。但是单纯的这么做时间复杂度非常多。
clover_hxy
·
2017-04-16 09:43
树链剖分
Template.
(尽管好多该学的东西还没学)Update:省选已经完了…但是还没补全树1.0
树链剖分
(BZOJ1036[ZJOI2008]树的统计Count)#include#include#include#include
Zars19
·
2017-04-16 00:00
ST表浅谈
其实本来不想写的,网上看来看去好像st表除了RMQ,LCA就没什么了,况且LCA我会
树链剖分
,RMQ能写线段树,除了代码量少的那么一点点优势,我学他干嘛?
BerryKanry
·
2017-04-14 23:50
树链剖分
简述
最近学了
树链剖分
,就讲讲吧(主要是为了以后复习用)In2017.4.9**
树链剖分
是个很复杂的算法,即使是很经典的模版题,也有一百多行,,**因此学这个算法耗费了很多时间,把以前学过的算法基本组合在了一起
Artanis23
·
2017-04-09 20:20
竞赛
------树链剖分
----树
ACM-
大整数除法
问题描述求两个大的正整数相除的商输入数据第1行是测试数据的组数n,每组测试数据占2行,第1行是被除数,第2行是除数。每组测试数据之间有一个空行,每行数据不超过100个字符输出要求n行,每组测试数据有一行输出是相应的整数商输入样例32405337312963373359009260457742057439230496493930355595797660791082739646298719258531
嘻嘻兮
·
2017-04-01 00:54
ACM题解
ACM-
大整数乘法
问题描述求两个不超过200位的非负整数的积。输入数据有两行,每行是一个不超过200位的非负整数,没有多余的前导0。输出要求一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。输入样例1234567890098765432100输出样例1219326311126352690000解题思路在下面的例子程序中,用unsignedan1[200]和unsigned
嘻嘻兮
·
2017-03-30 23:44
ACM题解
bzoj 3631
树链剖分
+差分
题意:n个节点的树,给出访问顺序,每经过一个点该点权值加1(x->y->z,y只需要加一次),初始为0.求最后每个点经过总次数显然树剖裸题区间加1,单点查询,所以完全没有必要写线段树,一开始naive的想用差分的树状数组代替线段树,后来一想都差分了还树状数组个什么鬼,直接差分一下,然后算一下前缀和即可如果当前点是所有访问的起点,直接输出sum[i],其他点均-1varn,l,tot,x,y:lon
Eirlys_North
·
2017-03-26 23:12
bzoj
树链剖分
树的统计Count bzoj 1036
树链剖分
+线段树
要求资瓷三个操作:CHANGExy把节点的权值变为yQMAXxy求x到y的路径上的最大值QSUMxy求x到y的路径上的和分析因为感兴趣,所以学习了
树链剖分
。但是发现这是一个巨坑啊!!!
A_loud_name
·
2017-03-24 21:34
c++
树链剖分
[BZOJ4515][Sdoi2016]游戏(
树链剖分
)
======这里放传送门======题解没错这就是那个ATP当年写了个部分分结果还爆栈了的题。。。基本思路就是在线段树的每个节点里面维护一条直线然后标记永久化,如果没有做过这一类题目比较推荐先做一下BZOJ1568。话说这玩意儿好像叫做李超线段树还是什么类似的名字?然而这个题和那个题最大的区别就是那个题是区间修改单点查询并且每次的直线都是覆盖整个1..n的区间,但这个题是正儿八经的区间修改区间查询
FromATP
·
2017-03-20 20:22
BZOJ
不知道加什么形容词的树链剖分
树链剖分
个人题目总结
首先,想要学
树链剖分
基础的朋友们很抱歉请换篇博客看,,,这是个题目总结//////////////////////////////////本蒟蒻求不被大佬嘲讽。。。。
JetRichardLee1
·
2017-03-17 18:08
树链剖分
[BZOJ2325][ZJOI2011][
树链剖分
][线段树]道馆之战
调了一个晚上代码又臭又长为什么zjoi2011的题目都是代码量那么大的题…考虑在一条链上的情况,可以用线段树记录一个区间的八个值从左端点的A往右走的最大步数从左端点的B往右走的最大步数从右端点的A往左走的最大步数从右端点的B往左走的最大步数从右端点的A到左端点的A或从左端点的A到右端点的A的最大步数从右端点的A到左端点的B或从左端点的B到右端点的A的最大步数从右端点的B到左端点的A或从左端点的A到
LowestJN
·
2017-03-13 21:40
树链剖分
线段树
树链剖分
详解
树链剖分
发现最近几天可以出专题了。。。近几天搞板子题真的是逼着我写一些东西。。。
Renatus_Goseqh
·
2017-03-07 18:37
数据结构
树链剖分
树链剖分
[BZOJ4127][
树链剖分
][线段树][乱搞]Abs
题意给定一棵树,设计数据结构支持以下操作1uvd表示将路径(u,v)加d2uv表示询问路径(u,v)上点权绝对值的和想了半天不会做……搜了发题解因为d非负,所以最多n次有一个从负数变成正数,那么用线段树记录一下区间中最大的负数,当这个最大负数加上d后变成正数的时候,继续往下update,因为最多只会有n次,所以复杂度也是nlogn级别的#include#include#include#define
LowestJN
·
2017-03-02 20:15
树链剖分
线段树
乱搞
树链剖分
乱搞
线段树
[BZOJ3531] SDOI2014
树链剖分
+动态开点线段树
首先发现是一棵树,想到
树链剖分
来维护路径。但是如何把不同宗教的点分开计数?想到给每一个宗教开一颗线段树来维护,因为总共点数只有10^5个,可以采取动态开点来保证内存不超。
DOFYPXY
·
2017-02-27 21:30
数据结构
bzoj 3626
树链剖分
+离线处理
题意:给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。q个询问,每个询问给出区间[l,r]和z,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和好题...orz并不会写题解...constmo=201314;typerec=recordl,r:longint;sum,lazy:int64;end;typerec2=recordp,nu
Eirlys_North
·
2017-02-27 09:05
bzoj
离线处理
树链剖分
bzoj 3626
树链剖分
+离线处理
题意:给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。q个询问,每个询问给出区间[l,r]和z,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和好题...orz并不会写题解...constmo=201314;typerec=recordl,r:longint;sum,lazy:int64;end;typerec2=recordp,nu
Eirlys_North
·
2017-02-27 09:05
bzoj
离线处理
树链剖分
bzoj 4034
树链剖分
模板
题意:有一棵点数为N的树,以点1为根,且树点有边权。然后有M个操作,分为三种:操作1:把某个节点x的点权增加a。操作2:把某个节点x为根的子树中所有点的点权都增加a。操作3:询问某个节点x到根的路径中所有点的点权和。mdzz,居然没有1A,把点权和边权的弄混了...点权的最后更新的时候是可以num[x]=num[y]的typerec=recordl,r:longint;lazy,sum:int64
Eirlys_North
·
2017-02-26 21:57
bzoj
树链剖分
[BZOJ3910]火车(lca+
树链剖分
)
题目描述传送门题解lca+
树链剖分
裸题代码#include#include#include#include#includeusingnamespacestd;#defineN500005#definesz19intn
Clove_unique
·
2017-02-26 11:49
题解
lca
树链剖分
ACM-
子串(字符串处理)
问题描述有一些由英文字符组成的大小写敏感的字符串。请写一个程序,找到一个最长的字符串x,使得:对于已经给出的字符串中的任意一个y,x或者是y的子串、或者x中的字符反序之后得到的新字符串是y的子串。输入数据输入:输入的第一行是一个整数t(1#includeusingnamespacestd;intt,n;charstr[100][101];intsearchMaxSubString(char*sou
嘻嘻兮
·
2017-02-24 12:41
ACM题解
LCT ——学习笔记
LCT的思想有点类似
树链剖分
,即把边分为实边和虚边两类。
树链剖分
是用于静态问题的,没有边的插入删除,而LCT是动态树,显然两者实边和虚边具体定义不同。
Lynstery
·
2017-02-17 10:02
LCT
我的OI学习足迹
LCT(Link-Cut Tree)详解(蒟蒻自留地)
如果你还没有接触过LCT,你可以先看一看这里:(看不懂没关系,先留个大概的印像)http://www.cnblogs.com/BLADEVIL/p/3510997.html看完之后我们知道,LCT和静态的
树链剖分
很像
Saramanda
·
2017-02-16 11:24
LCT
数据结构
LCT
bzoj 2836
树链剖分
题意:对一棵n个节点且每个节点初始值都为0的树,进行两个操作:1、Addxyz表示x到y的路径上的点的点权都+z2、Queryx表示询问以x为根的子树的点权和
树链剖分
裸题,mdzz,8A....对于修改
Eirlys_North
·
2017-02-16 07:50
bzoj
树链剖分
bzoj 2836
树链剖分
题意:对一棵n个节点且每个节点初始值都为0的树,进行两个操作:1、Addxyz表示x到y的路径上的点的点权都+z2、Queryx表示询问以x为根的子树的点权和
树链剖分
裸题,mdzz,8A....对于修改
Eirlys_North
·
2017-02-16 07:50
bzoj
树链剖分
bzoj 1036
树链剖分
模板
题意:一棵n个节点的树,每个点都有一个权值w,三种操作:1、CHANGExy把x节点的权值改为y2、QMAXxy询问x到y路径上节点的最大权值3、QSUMxy询问x到y路径的节点和,包括x和y本身
树链剖分
裸模板
Eirlys_North
·
2017-02-15 18:00
bzoj
模板
树链剖分
bzoj 1036
树链剖分
模板
题意:一棵n个节点的树,每个点都有一个权值w,三种操作:1、CHANGExy把x节点的权值改为y2、QMAXxy询问x到y路径上节点的最大权值3、QSUMxy询问x到y路径的节点和,包括x和y本身
树链剖分
裸模板
Eirlys_North
·
2017-02-15 18:00
bzoj
模板
树链剖分
【bzoj2243】染色
树链剖分
+线段树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2243【题解】神坑题目,今天一天都在调这道题了。首先asksum函数中忘记判断区间合并时出现相同颜色的情况,导致wa不断。然后要到了数据,查出了这个错误。然而忘记了deep[1]=1,导致在求lca的过程中访问到0号结点,然后又开始RE然后我的一整天都在二分出错位置了。。。。。。。#incl
chty_syq
·
2017-02-15 16:48
bzoj
线段树
树链剖分
【bzoj4034】树上操作
树链剖分
+线段树
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=4034【题解】用树剖来做的话,做法很显然,比模板题还简单。不过,据说可以用dfs序搞一搞。#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglongll;#defineFI
chty_syq
·
2017-02-13 10:57
bzoj
线段树
树链剖分
【QTREE】子杰树 线段树+
树链剖分
【题目大意】给定一棵n个结点的树,树的边上有权。你被要求支持:1.修改一条边上的权值。2.查询两个结点x和y之间的最短路径中经过的最大的边的权值。其中n#include#include#include#include#include#includeusingnamespacestd;#defineFILE"read"#defineMAXN10010#defineup(i,j,n)for(inti=
chty_syq
·
2017-02-13 08:52
线段树
树链剖分
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他