标签:
ur的c果然sxbk啊
ur2:有根树分治裸题,复杂度玄学$O(n\sqrt{n})$。
首先,转化为统计k的倍数的个数。
经过重心C的路径分两种情况:(设n为当前树的大小)
1、在C的子树中,直接O(n)计算;
2、一个在C的子树中,另一个不在,则枚举路径的lca=p,计算出p的不在C到当前分治结构的根的路径上的孩子的子树中深度为每个数的倍数的个数,再计算C的孩子到p的长度为p倍数的个数。考虑算法复合,若当前枚举的深度d小于 $\sqrt{H}$那么记忆化,否则直接暴力在C的子树中找深度符合要求的点的个数,复杂度$O(n\sqrt{n})$。
根据主定理,总复杂度$O(n\sqrt{n})$。随便写写居然在uoj上时间rank1。。。
标签:
原文地址:http://www.cnblogs.com/shanquan2/p/5414626.html