缓缓加速 第二日,生成树与LCA 从上至下知识点对应为: 1-3、最小生成树(MST),prim或kruskal算法 4、求多颗最小生成树(或许这么称呼不太严谨),kruskal算法 5、最大瓶颈生成树(MBST),prim或kruskal算法 6、LCA,树上倍增 7、最大生成树+LCA,树上倍增 ...
分类:
其他好文 时间:
2021-07-01 16:51:09
阅读次数:
0
常见算法 算法与数据结构是面试考察的重中之重,也是日后刷题时需要着重训练的部分。 简单的总结一下,大约有这些内容: 算法 - Algorithms 1、排序算法:快速排序、归并排序、计数排序2、搜索算法:回溯、递归、剪枝技巧3、图论:最短路、最小生成树、网络流建模4、动态规划:背包问题、最长子序列、 ...
分类:
编程语言 时间:
2021-06-22 18:19:06
阅读次数:
0
题面 严格次小生成树 题解 小蓝书 + 我自己的补充 做法 题意很好理解吧。 设最小生成树的边权之和为 \(sum\)。 我们要找严格次小生成树,就是要找到这样的一条非最小生成树上的边,满足: 将最小生成树上的某条边替换成这条边后,树依然联通。 这条边与被替换边的权值之差最小,且大于 \(0\)。 ...
分类:
其他好文 时间:
2021-06-02 16:03:33
阅读次数:
0
根据kruskal的贪心过程,先将所有$a$类边连起来,对于一个连通块内的两点,必然通过$a$边联通 考虑对于一条最短路径,必然是一段(可能为空)$a$类边+1条$b$类边,同时其合法当且仅当这些$b$类边都能被加入最小生成树中,即不会与$a$类边产生环,又即不重复经过一个连通块 状压之前经过的连通 ...
分类:
其他好文 时间:
2021-06-02 13:09:00
阅读次数:
0
最小生成树核心Algorithm 问题描述:给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G=(V,E),其中 V 表示图中点的集合,E 表示图中边的集合,n=| ...
分类:
编程语言 时间:
2021-06-02 12:10:54
阅读次数:
0
原题链接 考察:LCA+Tarjan 思路: 因为N<=1e5,所以上个算法N2 不适用.这里仍然是上道题的思路,枚举所有不在最小生成树的边.求出边两端点u,v.找到u,v在最小生成树的最大值d1和次大值d2.然后通过sum-d1(d2)+road[i].w求解答案. LCA优化的是求两端点之间的最 ...
分类:
其他好文 时间:
2021-05-24 04:51:20
阅读次数:
0
「图论」第2章 最小生成树课堂过关 A. 【例题1】繁忙都市 题目 代码 prim #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define N 310 #define M 200010 ...
分类:
其他好文 时间:
2021-04-19 16:02:22
阅读次数:
0
再次因为浮点数g++, c++编译器的问题WA,中间还因为reset没有改过来编译器无脑再WA了一次 这道题很适合Kruskal这种将最开始的联通森林,一点点聚合到一起成为一棵联通的最小生成树的想法,只不过,具体到这道题,是要将原先的p个森林,聚合成为s个森林,所以实现就非常简单了 #include ...
分类:
其他好文 时间:
2021-04-14 12:13:20
阅读次数:
0
恶臭树链剖分毁我青春耗我钱财不讲武德。 题目大意 给出 \(k\) 条边权未定的边,以及 \(m\) 条边权已定的边,让你求这样一个东西: 有一颗最小生成树包含这 \(k\) 条边; 这 \(k\) 条边的权值和最大。 最后输出 \(k\) 条边的权值和。 既然要求 \(k\) 条边都在最小生成树内 ...
分类:
Web程序 时间:
2021-04-05 12:47:35
阅读次数:
0
最小生成树基础 定义 对于图 \(G = (V,E)\), 有 \(n\) 个点, \(m\) 条边, 由 \(V\) 中所有 \(n\) 个点和 \(E\) 中 \(n-1\) 条边构成的一个连通子图(即一棵树),称为 \(G\) 的一个生成树, 边权值最小的为最小生成树. 求解方法: prim算 ...
分类:
其他好文 时间:
2021-03-17 15:05:25
阅读次数:
0