【树的点分治】【平衡树】[POJ1741]Tree
题目大意给出一棵树,边带权,问有多少条长度路径<=k的路径。分析点分治暴力做法为O(n2)O(n^2)我们可以将统计所有路径转化为递归查找通过某个特殊点的路径,从而降低复杂度。将这个点定为重心,复杂度可以降低为O(nlogn)O(nlogn)复杂度分析重心有一个性质,如果以它为根,它的最大一个子树的大小不超过2tot\frac{2}{tot}。如果超过,那么在那棵子树里面一定有一个点它最大的子树小于
原创
2016-02-25 17:25:28 ·
697 阅读 ·
0 评论