摘要: 首先要会点分治 点分治——树上路径统计 点分治有什么好处?我们为什么不直接用树形dp? 它多用了一个logn的代价,使得我们每次面对的都是过重心rt的路径。 这样,我们可以灵活用子树来处理。 而树形dp必须一次考虑所有过x的所有路径。必须还要多处理一个“和x有关”的信息,多了O(n)的时空。 点分治 阅读全文
posted @ 2018-11-29 16:09 *Miracle* 阅读(173) 评论(0) 推荐(0) 编辑
摘要: [ZJOI2015]幻想乡战略游戏 带修改下,边点都带权的重心随着变动的过程中,一些子树内的点经过会经过一些公共边。考虑能不能对这样的子树一起统计。把树上贡献分块。考虑点分治算法不妨先把题目简化一下:假设没有修改,多次询问,每次给定一个s,求$\sum d_v*dis(s,v)$为了让一块可以一起统 阅读全文
posted @ 2018-11-29 15:49 *Miracle* 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给出一棵边带权的节点数量为n的树,初始树上所有节点都是白色。有两种操作: C x,改变节点x的颜色,即白变黑,黑变白 A,询问树中最远的两个白色节点的距离,这两个白色节点可以重合(此时距离为0)。 N (N <= 100000) Q <= 200000 时限1s 题解 如果没有修改的话,直 阅读全文
posted @ 2018-11-29 07:04 *Miracle* 阅读(471) 评论(0) 推荐(0) 编辑