问题: 给定无向图G(N,M)表明图G有N个顶点,M条边,通过Prim算法构造一个最小生成树 分析: 算法流程: 构造好的最小生成树就是step6 运行代码: #include<cstdio> #include<string.h> #include<algorithm> #include<cmath ...
分类:
编程语言 时间:
2020-02-28 01:07:24
阅读次数:
149
最小生成树: 求一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边. 1:Prim算法(适合稠密图) 伪代码: Prim(G){ //G为图 int addnow[maxen];//记录当前有多少点被纳入集合; int lowcost[ ...
分类:
编程语言 时间:
2020-02-27 16:09:34
阅读次数:
71
本题从题目给出的条件我们发现了最小生成树的影子,也就是kruscal的影子 其实我们在写kruscal的时候就是利用并查集的思想来写的 这题需要注意的是,我们在求取的过程中l并不需要减少,我们只要最小生成树中的最大边权小于等于l就行了 这就让我们想到了可以从小到大对边权排序,之后枚举维护树集合,如果 ...
分类:
其他好文 时间:
2020-02-25 17:54:23
阅读次数:
69
题目描述 给定一张 N 个点,M 条边的无向图,边有红、绿、蓝三种颜色,分别用 1,2,3 表示。 求这张图有多少生成树,满足绿色边数量不超过 x,蓝色边数量不超过 y,答案对10^9 + 7 取模。 1 ≤ N ≤ 40,1 ≤ M ≤ 10^5,1 ≤ ci ≤ 3 行列式 定义矩阵A的行列式d ...
分类:
其他好文 时间:
2020-02-25 09:35:47
阅读次数:
85
1.普通 行列式换行列顺序,答案变为相反数. 求无向图生成树个数:点数矩阵 边数矩阵.删掉一行一列后变成的矩阵对角线的积. 求有向图内向树个数:点数矩阵 出度矩阵.删掉根对应的一行一列 外向树是入度矩阵. 2.变元矩阵树定理 边有边权. 定义一个矩阵. $K_{i,i}$为i相连的所有边权的和. $ ...
分类:
其他好文 时间:
2020-02-24 20:15:53
阅读次数:
68
知识点:构造、思维。 题目链接:https://ac.nowcoder.com/acm/contest/4370/D 题意:n点完全图,每次可以删除一个生成树的边,问最多可以删几次,并构造出其中一种。 题解:给出一种删边方式可以尽可能多次的删除:第i次:从i开始。依次删除i-(i+1)-(i-1)- ...
分类:
其他好文 时间:
2020-02-22 19:47:00
阅读次数:
87
应用场景-修路问题 看一个应用场景和问题: 有胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在需要修路把7个村庄连通 各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 最小生成树 修路问题本质就是就是最 ...
分类:
编程语言 时间:
2020-02-22 09:28:59
阅读次数:
95
坚定不移的向前奔跑 才是我应该做的事情吧. 多思考一下 你会发现不一样的世界。 所谓矩阵树定理 用于一张无向图之上求出该图的所有生成树的个数。 在探究其之前我们先再次回顾一番 矩阵的基本定义 和一些比较基本的操作。 矩阵 有行有列 不过有两个定义 行向量 和 列向量 分别指某一行或某一列所形成的向量 ...
分类:
其他好文 时间:
2020-02-20 22:20:49
阅读次数:
86
原博地址:https://blog.csdn.net/xingfei_work/article/details/79637878 HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素超过8时,会自动转化成红黑树;若桶中元素小于等于6时,树结构还原成链表形式。 原因: 红黑树的平均查 ...
分类:
其他好文 时间:
2020-02-20 20:19:28
阅读次数:
76
题意简述:给出一个n个点的完全图,边权要么是1要么是0,输入只给出权值的是1的那些边,求解最小生成树的权值 解答:边很多,我们考虑使用prim算法,prim算法的过程中维护了一个dis数组,这里我们可以发现数组的值单调递减,并且只有01两种取值 因此我们考虑用数据结构去加速他,具体来说就是维护两个集 ...
分类:
其他好文 时间:
2020-02-18 20:57:54
阅读次数:
70