2020.08.06【NOIP提高组】模拟:统一天下 总结
Description
Input
Output
Sample Input
4 4
1 3
2 1
4 3
4 3
4 1
1 2
Sample Output
68
Data Constraint
总结
比赛思路: 暴力枚举连接的两个点并暴力求点对距离之和,时间复杂度为
O
(
n
4
)
O(n^4)
O(n4)。
正解: 设
f
W
,
x
f_{W,x}
fW,x表示树
W
W
W的
x
x
x结点到其它树
W
W
W的结点的距离和,
g
W
g_{W}
gW表示
W
W
W这棵树的最小点对之和,
s
W
,
x
s_{W,x}
sW,x表示树
W
W
W以
x
x
x为根的子树大小。可得
f
W
,
x
=
f
W
,
y
+
∣
W
∣
−
2
s
W
,
x
f_{W,x}=f_{W,y}+|W|-2s_{W,x}
fW,x=fW,y+∣W∣−2sW,x。
∣
W
∣
|W|
∣W∣表示树
W
W
W的大小,
y
y
y是
x
x
x的父亲。还可得
g
W
=
∑
i
=
1
∣
W
∣
f
W
,
i
2
\begin{aligned}g_{W}=\frac{\sum_{i=1}^{|W|}{f_{W,i}}}{2}\end{aligned}
gW=2∑i=1∣W∣fW,i。我们发现,连接
(
i
,
j
)
(i,j)
(i,j),
i
i
i和
j
j
j没有关系。所以只要选择树1最小的
f
x
f_{x}
fx的x为
i
i
i和树2最小的
f
x
f_{x}
fx的
j
j
j连接即可。答案为
f
W
1
,
i
×
∣
W
2
∣
+
f
W
2
,
j
×
∣
W
1
∣
+
∣
W
1
∣
×
∣
W
2
∣
+
g
W
1
+
g
W
2
f_{W_1,i}\times|W_2|+f_{W_2,j}\times|W_1|+|W_1|\times|W_2|+g_{W_1}+g_{W_2}
fW1,i×∣W2∣+fW2,j×∣W1∣+∣W1∣×∣W2∣+gW1+gW2。