随笔分类 - 0x19点分治
摘要:题目链接 #题目大意 i和j是树上不同的两个点,计算下面公式的值 #解题思路1(点分治) 如果用点分治的话,很容易想到可以把重心当lca来计算子树间的贡献。因为题目是有根树,所以在点分治的过程中,可能会有某个子树的父子关系是颠倒的,不过对于点分治以重心u为根的子树来说,这种子树只会有
阅读全文
摘要:题目链接 #题目大意 略 #解法1:点分治+归并排序+二分 对于当前的重心,首先对其一棵子树求距离,然后二分之前的子树中符合条件的距离的数量,然后用归并来降低排序的时间复杂度。 #代码 const int maxn = 1e4+10; int n, m, rt, tot, tota, totb, t
阅读全文