树的点分治
文章平均质量分 81
RicardoWWW
这个作者很懒,什么都没留下…
展开
-
【BZOJ1758】【Wc2010】重建计划 树的点分治 二分
感觉仿佛所有统计路径的题都可以把锅甩给点分治???由于要求平均值最大,我们每二分一个答案ave,就去检查是否存在一条路径满足其新路径长度(d(u,v)-ave)的和大于等于0,并且路径的长度在[L,R]之间,检查的时候技巧很多,可以用单调栈来维护当前各深度边权最大值。同时,要善于利用时间戳来避免一切memset。并且由于答案是三位小数,因此我们可以控制当r-l/************原创 2016-04-21 21:39:33 · 350 阅读 · 0 评论 -
【BZOJ4372】烁烁的游戏 动态树分治
讲道理我第一次看到动态树分治以为和那个动态树LCT有关QAQ然而正确的读法是【动态(树分治)】这就很尴尬了。题目大意就是给定一棵树,每个点初始权值是0,维护两个操作,一是将和某一个点距离不超过d的点的权值都加上v,二是查询某两个点之间的权值。首先用点分治建出新的树结构,利用标记永久化的思想为每个点建立一棵线段树记录距离这个点距离为d的点的权值之和,统计的时候再求一下和即可。唯一原创 2016-05-12 23:46:14 · 1284 阅读 · 0 评论 -
【BZOJ2152】聪明的可可 树的点分治
题目大意:给定一棵n第一次接触神奇的点分治算法,其主要思想就是对于一棵树,找到他的重心,DP计算所有经过重心点的路径中mod3==0的路径条数,然后将整棵树从重心点处断开,分为若干棵子树,化归解决原问题。其中断树的操作可以通过给边打上bool标记来实现。/**************************************************************原创 2016-04-21 20:12:21 · 326 阅读 · 0 评论 -
【BZOJ4016】【FJOI2014】 最短路径树问题 树的点分治
首先是最短路径树,将一个点相连的所有边装入Vector中,排序后倒序加边(因为链表的写法是从最后加入的边向前便利),求出最短路径图后DFS得到最短路径树,然后和普通的点分治一样辣!要善于利用时间戳(虽然并没有什么卵用)。#include #include #include #include #include #include #include #i原创 2016-04-23 15:09:38 · 411 阅读 · 0 评论