![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树分治
Mima_Reincarnation
这个作者很懒,什么都没留下…
展开
-
20160804 最长链 树分治?树DP?
题目大意:给一颗树,求每个节点到其他所有节点的距离中最大的使用DFS序和节点size维护一个点的子树,对于每个节点,只考虑过这个点的路径,则可以用最长子链更新所有非最长链所在子树的所有节点,用次长子链更新最长链所在子树的所有节点。注意,为防止只有一条链,每个节点ans值的初值应是深度(向上一条链)或最长子链(向下一条链)中大的。然后返回最长子链的长度(要加上父节点到他的边权)以留给他的父亲决定最长子原创 2016-08-08 18:46:09 · 515 阅读 · 0 评论 -
BZOJ3435: [Wc2014]紫荆花之恋 动态树分治 替罪羊树
再不写博客就快忘了这题怎么做了*1 题意:一棵树,点有点权r,边有边权c,每次增加一个叶子后询问当前有多少点对满足dis(i,j)≤ ri+rj,强制在线 N<=100000 考虑树分治,设现在要统计路径经过k的所有点对,则条件变为dis(i,k)+dis(j,k)≤ri+rj,移项得dis(i,k)-ri≤rj-dis(j,k),则可以在每个节点中用treap记录所有的dis(i,k)-ri原创 2017-04-18 14:11:06 · 1150 阅读 · 0 评论 -
BZOJ3924: [Zjoi2015]幻想乡战略游戏 动态树分治
http://www.lydsy.com/JudgeOnline/problem.php?id=3924 抓紧时间补上以前忘写的博客 先考虑如何求出对于一个点,其它所有点到它的带权距离和,显然用树分治结构就可以动态维护,查询复杂度logn。由于时限宽松,可以考虑每次利用分治暴力求重心,方法是从根开始判断是否存在一个方向使得移动过去更优,有的话就跳到那层分治结构上。总复杂度n*log^2(n)#i原创 2017-06-02 20:57:03 · 365 阅读 · 0 评论 -
BZOJ3672: [Noi2014]购票 树分治 斜率优化
http://www.lydsy.com/JudgeOnline/problem.php?id=3672 树上的CDQ分治。 和常规CDQ思路相同,一个点的可行决策点是从这个点往上连续一段,那么在分治过程中先递归重心往上的一块(包括重心这个点),再将其他点按可行深度排序,然后维护上面那些点的凸包来更新底下点的答案,最后分别递归底下的块即可。#include<cstdio> #include<cs原创 2017-06-02 21:06:57 · 432 阅读 · 0 评论