摘要:
给定含 $n$ 个顶点的有根树及 $m$ 个二元组 $(x_i,y_i)$ ,定义 $D(a,b)$ 为在以 $a$ 为根子树中但不在以 $b$ 为根子树中的顶点个数,需计算以这些二元组为顶点的完全图的最小生成树,边权为 $D(x_i,x_j)+D(x_j,x_i)+D(y_i,y_j)+D(y_j,y_i)$ ,约束为 $1\le n\le 10^6,1\le m\le 10^5$ 。思路方面,先将距离公式 $d_{x,y}$ 按不同祖先关系分类,求解最小生成树考虑Boruvka算法。原树套树方法复杂度 $5\log$ 过高,经分类讨论,按不同祖先关系(如两维都是祖先、两维都是后代、一维祖先一维后代等)优化,每种情况复杂度为 $O(\log)$ 或无 $\log$ ,最终总时间复杂度达 $O(n \log^2)$ 。 阅读全文
posted @ 2025-02-05 11:08
wing_heart
阅读(33)
评论(0)
推荐(0)

浙公网安备 33010602011771号