码迷,mamicode.com
首页 >  
搜索关键字:树链剖分    ( 1272个结果
【Luogu】P2146软件包管理器(树链剖分)
题目链接 上午跟rqy学了一道超难的概率题,准备颓一会,于是水了这么一道水题。 话说这题真的是模板啊。数据范围正好,描述特别贴近(都不给你绕弯子的),连图都给你画出来,就差题目描述加一句“树链剖分模板”了qwq 怕当年考noi的选手想不到这是树剖么qwq 然后一般来讲省选及以上难度的题都是有套路的, ...
分类:其他好文   时间:2018-01-11 15:33:05    阅读次数:200
bzoj 4817: [Sdoi2017]树点涂色【树链剖分+LCT】
非常妙的一道题。 首先对于操作一“把点x到根节点的路径上所有的点染上一种没有用过的新颜色”,长得是不是有点像LCT中的access操作?然后第二、三个操作是可以用树剖在线段树上维护的。 进而发现,如果把同一颜色的点连起来作为LCT中的重边的话,那么询问二就相当于问路径上的虚边有多少。 设每个点的权值 ...
分类:其他好文   时间:2018-01-08 21:08:22    阅读次数:134
bzoj 3589: 动态树【树链剖分+容斥】
因为一开始调试不知道unsigned怎么输出就没有加\n结果WA了一上午!!!!!~~然而最后放弃了unsigned选择了&2147483647~~ 首先链剖,因为它所给的链一定是某个点到根的路径上的一段(一开始没看到),也就是说链是不会拐弯的,那么考虑容斥,加上每条链的长度减去两条链的交的长度加上 ...
分类:其他好文   时间:2018-01-07 16:09:07    阅读次数:204
[HNOI2015]开店
如果没有年龄区间 画图发现ans=$\sum_{i=1}^n dis_i + n dis_u 2 \sum_{i=1}^{n} dis_{lca(i, u)}$ 对$\sum_{i=1}^{n} dis_{lca(i, u)}$用树链剖分,对于每个点,都向上走到根,记录每条路经过次数,询问时从u向上 ...
分类:其他好文   时间:2018-01-06 12:14:15    阅读次数:147
学习笔记::lct
我已经忘了lct 1.lct能干什么 能维护一个序列,能做线段树做的事 能维护一颗静态的树,能做树链剖分和线段树做的事 能维护一个动态的序列,能做splay做的事 能维护一颗动态的树,能做splay和树链剖分的事 所以lct=splay+树链剖分 2.怎么维护 树链剖分是利用轻重链剖分的性质 那么l ...
分类:其他好文   时间:2018-01-05 22:06:33    阅读次数:213
树链剖分详解
问题是这样的:对于一株树(无向无环连通图),为每个结点分配对应的权重。要求能高效计算任意两个结点之间的路径的各类信息,其中包括路径长度(路径上所有结点的权重加总),路径中最大权重,最小权重等等。到这里一切都还是比较简单的,我们可以利用Tarjan的LCA算法在线性时间复杂度内快速求解。但是如果还要求 ...
分类:其他好文   时间:2018-01-05 21:58:14    阅读次数:175
[日常摸鱼]luogu3398仓鼠找sugar-树链剖分
https://www.luogu.org/problemnew/show/P3398 题意:一颗$n$个点的树,$q$次询问两条链$(a,b),(c,d)$是否有交 树剖裸题orz 一开始的想法是求出$lca_1=lca(a,b),lca_2=lca(c,d)$,对于深度大的那个$lca$用dfs ...
分类:其他好文   时间:2018-01-01 17:00:40    阅读次数:138
树链剖分的基本思想
一、树链剖分的作用 通常是求树上u到v的路径节点之和 这个问题很容易可以想到设f[i]表示根节点到i节点的节点之和 t=lca(u,v),然后可以把u->v划分为u->t+t->v-t; 则有结论:u->v=f[u]+f[v]-2*f[t]+t,这样就可以求出来了 但是加上u到v的路径上的节点值的修 ...
分类:其他好文   时间:2017-12-31 23:36:01    阅读次数:272
[Luogu] 运输计划--000
https://www.luogu.org/problemnew/show/P2680 题解: 二分一个答案x之后,只需要考虑m条路径中路径长度大于x的那些路径,并对那些路径求一个交。设m中最长路径为l,则只需判断路径交中的边是否存在一条边e使得e.w>=l-x。如何求交?其实我们树链剖分之后,只需 ...
分类:其他好文   时间:2017-12-31 10:48:07    阅读次数:113
树链剖分
复习一遍 include include include define N 150000 define For(i,x,y) for(int i=x;i 1; build(lson(p),L,MID); build(rson(p),MID+1,R); } void ins(int p,int x,i ...
分类:其他好文   时间:2017-12-30 23:43:52    阅读次数:345
1272条   上一页 1 ... 42 43 44 45 46 ... 128 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!