OSDN Git Service

style: format markdown files with remark-lint
author24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Tue, 27 Aug 2019 14:19:38 +0000 (10:19 -0400)
committer24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Tue, 27 Aug 2019 14:19:38 +0000 (10:19 -0400)
docs/graph/mst.md

index 9ced06e..8a96784 100644 (file)
@@ -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)$