随笔分类 - 图论 - 生成树
摘要:题目大意:给定一个 N 个点,M 条边的无向图,边有两个边权 a, b,求从 1 号节点到 N 号节点路径的两个权值和的最大值最小是多少。 题解: 对于有两个属性的结构的最优化问题,可以考虑先按照其中一个分量进行排序。接着从小到大枚举这个有序的分量,计算以当前枚举到的值为这一分量的最大值时,全局的最
        阅读全文
                
摘要:题目大意:给定 N 个点,M 条边的无向图,支持两种操作:动态删边和查询任意两点之间路径上边权的最大值最小是多少。 题解: 引理:对原图求最小生成树,可以保证任意两点之间的路径上边权的最大值取得最小值。 证明:任取两点 x, y,若 x, y 的路径上最大值最小的边不在最小生成树的路径上,可以将那条
        阅读全文
                
摘要:题目大意:给定一个 N 个顶点,M 条边的带权无向图,求该无向图的一个严格次小生成树。 引理:有至少一个严格次小生成树,和最小生成树之间只有一条边的差异。 题解: 通过引理可以想到一个暴力,即:先求出最小生成树,并记录树边,再枚举删除 MST 中的每一条边,每次重新做一次最小生成树算法,并将计算出来
        阅读全文
                
摘要:题目大意:给定一个 N 个顶点的完全图,边有边权,现在要求使得图中所有顶点联通的情况下,第 M 1 大的边最小值是多少。 题解:所有点联通的最小要求是所有点和连接这些点的边构成原图的一棵生成树,那么问题转化成原图的一棵生成树中第 M 1 大边的最小值是多少。可知这是一道类似最小瓶颈树的题目,即:最小
        阅读全文
                
摘要:题目大意:给定一个 N 个点的无向完全图,边有两个不同性质的边权,求该无向图的一棵最优比例生成树,使得性质为 A 的边权和比性质为 B 的边权和最小。 题解:要求的答案可以看成是 0 1 分数规划问题,即:选定一个数 mid,每次重新构建边权为 $a[i] mid b[i]$ 的图,再在图上跑一遍最
        阅读全文
                
摘要:题目大意:给定一张 N 个点的完全图,求 1,2 号节点之间的一条最小瓶颈路。 题解:可知,最小瓶颈路一定存在于最小生成树(最小瓶颈树)中。因此,直接跑克鲁斯卡尔算法,当 1,2 号节点在同一个联通块时,即可停止算法,并输出答案即可。 代码如下 cpp include include include
        阅读全文
                
摘要:题目大意:给定一张 N 个顶点的完全图,边有边权,求该完全图的一棵最小瓶颈树。 最小瓶颈树:一棵最大边权值在同一张图的所有生成树中最小,即:最大边权值最小的生成树,其值为该树的最大边权的权值。 引理1:最小生成树一定是一棵最小瓶颈树。 证明:若最小生成树不是最小瓶颈树,则意味着存在一条边的权值大于最
        阅读全文
                
摘要:题目大意:定义一个无向图的最短路径生成树如下:在该无向图的生成树中,任意一个节点到根节点的距离均等于根节点到该节点的最短路。求有多少种最短路径生成树。 题解:首先跑一遍 dij 求出从根节点到每个节点的最短路,再跑 prim,模拟该生成树生成的过程,即:维护最短路径生成树集合,对于每个新加入生成树集
        阅读全文
                
摘要:题目大意:给定一棵树,要求增加若干条边,将其转化为完全图,且该完全图以该树为唯一的最小生成树,求增加的边权最小是多少。 题解:完全图的问题一般要考虑组合计数。重新跑一遍克鲁斯卡尔算法,每次并查集在合并时进行计数,因为要求最小生成树唯一,必须保证每条边都比当前连接两个联通块的边要至少大 1,因此每次合
        阅读全文
                
摘要:代码如下 cpp include using namespace std; const int maxv=2e5+10; const int maxe=5e5+10; inline int read(){ int x=0,f=1;char ch; do{ch=getchar();if(ch==' '
        阅读全文
                
摘要:代码如下 cpp include using namespace std; const int maxv=2e5+10; const int maxe=5e5+10; typedef pair P; inline int read(){ int x=0,f=1;char ch; do{ch=getc
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号