From 0df5f9e611a712193c5f1e61298b947c00bec7ee Mon Sep 17 00:00:00 2001 From: 24OI-bot <15963390+24OI-bot@users.noreply.github.com> Date: Tue, 27 Aug 2019 10:19:38 -0400 Subject: [PATCH] style: format markdown files with remark-lint --- docs/graph/mst.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/graph/mst.md b/docs/graph/mst.md index 9ced06ee..8a96784a 100644 --- a/docs/graph/mst.md +++ b/docs/graph/mst.md @@ -479,17 +479,17 @@ int main() { 例如下图: -[](./graph/mst5.png) + [](./graph/mst5.png) -1 到 4 的最小瓶颈路显然有以下两条: 1-2-3-4。 1-3-4。 +1 到 4 的最小瓶颈路显然有以下两条:1-2-3-4。1-3-4。 -但是, 1-2 不会出现在任意一种最小生成树上。 +但是,1-2 不会出现在任意一种最小生成树上。 ### 应用 由于最小瓶颈路不唯一,一般情况下会询问最小瓶颈路上的最大边权。 -也就是说,我们需要求最小生成树链上的 max 。 +也就是说,我们需要求最小生成树链上的 max。 倍增,树剖都可以解决这里不再展开。 @@ -499,7 +499,7 @@ int main() { 在跑 kruscal 的过程中我们会从小到大加入若干条边。现在我们仍然按照这个顺序。 -首先新建 n 个集合,每个集合恰有一个节点,点权为 $0$。 +首先新建 n 个集合,每个集合恰有一个节点,点权为 $0$ 。 每一次加边会合并两个集合,我们可以新建一个点,点权为加入边的边权,同时将两个集合的根节点分别设为新建点的左儿子和右儿子。然后我们将两个集合和新建点合并成一个集合。将新建点设为根。 @@ -522,10 +522,10 @@ int main() { 我们在 kruscal 重构树上找到 $x$ 到根的路径上权值 $\leq val$ 的最浅的节点。显然这就是所有满足条件的节点所在的子树的根节点。 !!! note "[CC MXMN](https://www.codechef.com/JULY19A/problems/MXMN)" - 题目大意:给定两张 $n$ 个点 $2n$ 条边的联通无向带边权图,假设分别为G1,G2。 + 题目大意:给定两张 $n$ 个点 $2n$ 条边的联通无向带边权图,假设分别为 G1,G2。 询问所有点对 $(i,j),(1 \leq i < j \leq n)$ 在两张图上的最小瓶颈路的最大边权的乘积的和。 - + $n \leq 100000$ 我们首先求出两张图的最小生成树,并根据最小生成树构造 kruscal 重构树。 @@ -535,8 +535,8 @@ int main() { 现在我们将问题变成: > 给定一棵树 -> 多次询问,每次询问给定点集$S$和这个点集内的点权$v$。 -> 询问$\sum_{1 \leq i < j \leq |S|} \max(v_i,v_j) \times \max(edge_k|k 在 S_i 到 S_j的路径上)$ +> 多次询问,每次询问给定点集 $S$ 和这个点集内的点权 $v$ 。 +> 询问 $\sum_{1 \leq i < j \leq |S|} \max(v_i,v_j) \times \max(edge_k|k 在 S_i 到 S_j的路径上)$ 此时我们可以直接建出第二张图的最小生成树的 kruscal 重构树。 @@ -550,4 +550,4 @@ int main() { 也就是说,单次 $n$ 个节点的询问我们可以在 $O(n \log n)$ 的时间复杂度内解决。 -总时间复杂度 $O(n \log^2 n)$。 +总时间复杂度 $O(n \log^2 n)$ 。 -- 2.11.0