恶臭树链剖分毁我青春耗我钱财不讲武德。 题目大意 给出 \(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
要了解最小生成树的概念,我们首先要知道生成树是什么 生成树的定义 一个有 n 个结点的联通图的生成树是原图的极小连通子图,生成树包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 最小生成树的性质 1.容易想象,要保证n个节点联通,至少要有n-1条边,所以一个有n个节点的生成树必有n-1条边 ...
分类:
编程语言 时间:
2021-03-10 13:25:00
阅读次数:
0
三级分类for循环(只能三级分类,逻辑看的有点晕) //查询所有分类 List<SugClassificationParam> queryAllList = counterQueryAllclsMapper.queryAllList(); // 组装分类 List<SugClassification ...
分类:
其他好文 时间:
2021-03-10 13:08:05
阅读次数:
0
问题 我们定义无向连通图的最小生成树为边权和最小的生成树 解析 求最小生成树通常有两种做法: 1.Kruskal 将边权从小到大加边,若加边以后成环则放弃加边,直到加到n – 1条边,结束。(n为点集大小)加得到的边集就构成了一颗最小生成树。 2.Prime算法 用集合A,B分别表示得到的点集和未得 ...
分类:
编程语言 时间:
2021-03-09 13:34:48
阅读次数:
0
CF845G Shortest Path Problem? 裸的线性基,只不过需要一些变化。 我们首先需要对图构建一颗随意的生成树。只要是颗树即可。比如说我们构造出了如下的一张图(其中边权为 .... 的代表这之间可能省略了一些边): 我们可以通过一次 DFS 求出每个点到根节点,即 \(2\) 号 ...
分类:
其他好文 时间:
2021-03-08 13:45:44
阅读次数:
0
https://www.acwing.com/problem/content/1143/ \(裸题\) #include <bits/stdc++.h> using namespace std; #define IO ios::sync_with_stdio(false);cin.tie(0); c ...
分类:
其他好文 时间:
2021-02-17 14:58:39
阅读次数:
0
https://www.acwing.com/problem/content/1144/ #include <bits/stdc++.h> using namespace std; #define IO ios::sync_with_stdio(false);cin.tie(0); cout.tie ...
分类:
其他好文 时间:
2021-02-17 14:57:50
阅读次数:
0
https://www.acwing.com/problem/content/1145/ 思路 \(把已有的边加上,会形成各个连通块,等价于把每个连通块当成一个点去做Kruskal算法.\) #include <bits/stdc++.h> using namespace std; #define ...
分类:
其他好文 时间:
2021-02-17 14:56:41
阅读次数:
0
题目链接 #题目大意 给你几条边,这些边是从完全图里删除掉的边,将一条边入删边之后的完全图的花费是1,问最小生成树的代价。 #解题思路 图中连通块的个数求出来了就有答案了,求补图连通块个数模板题。 #代码 const int maxn = 2e5+10; const int maxm = 1e5+1 ...
分类:
其他好文 时间:
2021-02-16 12:26:35
阅读次数:
0