码迷,mamicode.com
首页 >  
搜索关键字:树链剖分    ( 1272个结果
Acdream 1424 Diversion 树链剖分+线段树
题意: 给定n个城市,和一些道路,道路有两种,一种是石头路,还有一种是乡村路,石头路形成了一棵树,即两两城市都可达,乡村路的加入使所有的石头路都处于一个或多个环中,即任意石头路被破坏后,城市间依然可以通过乡村路连通,现在敌国可以破坏一条石头路和一条乡村路,问,有多少种破坏方案,可以使破坏后,至少有一对城市不能互相到达。 题解: 仔细想想可以发现,石头路形成了一棵树,当这棵树上某一段道路被乡村...
分类:其他好文   时间:2014-11-01 14:56:40    阅读次数:227
SPOJ 375. Query on a tree (树链剖分)
Query on a treeTime Limit:5000msMemory Limit:262144KBThis problem will be judged on SPOJ. Original ID:QTREE64-bit integer IO format:%lld Java class na...
分类:其他好文   时间:2014-11-01 14:47:17    阅读次数:182
hdu 4757 Tree(可持久化字典树)
题目链接:hdu 4757 Tree 题目大意:给定一棵树,每个节点有一个值,现在有Q次询问,每次询问u到v路径上节点值与w亦或值的最大值。 解题思路:刚开始以为是树链剖分,其实树链剖分只是用来求LCA(可以不用树链剖分)。 可持久化字典树,在每次插入的同时,不修改原先的节点,而是对所有修改的节点复制一个新的节点,并且在新的节点 上做操作,这样做的目的是能够获取某次修改...
分类:其他好文   时间:2014-10-30 19:12:51    阅读次数:393
BZOJ 3083 遥远的国度 树链剖分
题目大意:给出一颗无根树,有链的修改操作,还有子树的查询。除此之外,还有选定这棵树的一个点为根。 思路:子树操作,链上修改,带size域的树链剖分就可以搞定。换根肯定不能真的换,出题人要是闲的没事所有操作都在换根就惨。我们可以画一张图模拟下换根。先按照读入的顺序建一颗有根树,然后观察当前的根在要询问的点的位置。如果当前的根在要询问的点的儿子中,那么那个点为根的时候,当前点的子树就是除了当...
分类:其他好文   时间:2014-10-30 17:13:46    阅读次数:226
BZOJ 1036: [ZJOI2008]树的统计Count 树链剖分
树链剖分 1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 5596  Solved: 2347 [Submit][Status] Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. C...
分类:其他好文   时间:2014-10-29 00:20:12    阅读次数:392
动态树LCT小结
最开始看动态树不知道找了多少资料,总感觉不能完全理解。但其实理解了就是那么一回事。。。动态树在某种意思上来说跟树链剖分很相似,都是为了解决序列问题,树链剖分由于树的形态是不变的,所以可以通过预处理节点间的关系,将树转化成连续的区间,再加以其它的数据结构,便能以较快的速度处理序列的修改和查询。 ...
分类:其他好文   时间:2014-10-28 13:42:53    阅读次数:292
hdu3966_树链剖分
最近在强化知识点深度,发现树链剖分不是很会写了。 回顾一下修改操作: 若两个点在同一条链上,则直接修改这段区间。 若不在同一条链上,修改深度较大的点到其链顶端的区间,同时将这个点变为他所在链顶端的父亲,循环操作直到这两个点在同一条链上,就可以用上一种方法了。 没有用LCA写是因为以前被坑过,不但没有这种方法好写,效率也不太让人满意。 主要是对第二种情况如何写有所遗忘,写道模版再给自己提个...
分类:其他好文   时间:2014-10-26 17:00:56    阅读次数:214
Hdu3966( Aragorn's Story ) 树链剖分
点更新树链剖分入门题,诶 错了好多发,提到同一点时没更新,边数组开小了一倍。#include #include #include #include using namespace std;#define lson l,mid,rt size[son[x]]) son[x] = cc; }}vo...
分类:其他好文   时间:2014-10-25 17:08:02    阅读次数:163
BZOJ 3589 动态树 树链剖分+容斥定理
题目大意:给出一棵树,每一个节点有一个权值,一开始所有节点的权值都是0。有两种操作,0 x y代表以x为根节点的子树上所有点的权值增加y。1 k a1 b1 a2 b2 ……ak bk代表询问。一共有k条边( k 思路:子树修改,区间查询,很明显用树链剖分解决,树链剖分维护一个size域,那么x的子树的范围就是pos[x]到pos[x] + size[x] - 1这一段上,可以用线段树...
分类:其他好文   时间:2014-10-25 09:19:42    阅读次数:136
树链剖分(模版)
树链剖分是解决在树上进行插点问线,插线问点等一系列树上的问题 假如现在给你一棵树,然后没两条边之间有一条权值,有一些操作,1:x---y之间的最大权值是多少,2:改变x---y之间的权值 当前这样的操作有很多,如果直接用暴力的方法的话肯定不行,那么就要想一个好的方法,我们可以想一下能不能借助线段树解决,能不能想一种方法对树上的边进行编号,然后就变成区间了。那么我们就可以在线段树上进行操作了...
分类:其他好文   时间:2014-10-23 17:48:23    阅读次数:285
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!