
动态树专题
Yves___
这个作者很懒,什么都没留下…
展开
-
Link-Cut Tree 学习小记
【关于LCT的标记】 1. 在查询的时候传递标记与Splay时按从祖到下地传递标记是等价的。 2. 在将一个点上旋之前一定要把身上的标记传递出去。 3. 挂上标记没有必要立即生效。 4. 切忌从虚父亲处获得标记。(不是同一条重链) 5. 注意像乘0这样的标记。 【关于改变树形态和Splay】 1. 改之前要确保标记都传完了。 2. Cut过程要把虚父亲删除,Link过程构成轻链后没原创 2014-08-12 19:58:00 · 493 阅读 · 0 评论 -
【HNOI 2010】弹飞绵羊
题目大意要求维护一个nn个节点的森林,实现mm个询问,其中包括 将xx的父亲设为yy 查询xx的深度 n<200,000n<200, 000 m<100,000m<100, 000分析动态树的入门题。 只需要实现accessaccess操作以及维护子树大小sizesize即可。其实我做这道题是为了找找写动态树的感觉,发现了不少要注意的细节。 我的实现里面有两个特殊的函数top(x)top(x)和原创 2015-09-10 15:18:02 · 865 阅读 · 2 评论 -
【集训队作业】MONOPLOY
题目大意给出一棵nn个点,根为00的树,要求实现QQ个操作,包含以下两种。 将xx到根染成一种区别于之前所有颜色的颜色 查询以xx为根的子树的所有点到根的距离和 在这里距离的定义,假如两个相邻城市之间的颜色不同则距离为11。 初始状态下城市的颜色两两不同。n,Q<150,000n, Q<150, 000分析因为初始状态下颜色互不相同,可以发现每个点到根的距离即它在树上的深度。观察每一次将一个点到根原创 2015-09-24 16:27:55 · 1044 阅读 · 0 评论 -
【HYSBZ 2759】一道动态树的好题
题目大意给出nn个变量xix_i对应的形如xi=kixj+bi(mod10007)x_i=k_ix_j+b_i \pmod {10007}的方程,要求实现mm个操作,包括以下两种。 解出xix_i的值,或输出无解或无穷解 将第ii个方程改为xi=k′ixj′+b′i(mod10007)x_i=k_i'x_{j'}+b_i' \pmod {10007} n<30000,m<100000n<30000,原创 2015-09-18 21:02:58 · 1086 阅读 · 0 评论 -
【浙江集训】wander
题目描述给出一棵包含nn个点的森林。问按照以下规则行走,从uu走到vv的期望步数是多少。行走的伪代码如下:count = 0bool DFS( x, fa ) if ( x==v ) return 1 random_shuffle(e[x]) for each y in e[x] // which means that all the order of has the s原创 2015-12-12 02:04:20 · 737 阅读 · 0 评论