最小K度限制生成树

度限制最小生成树和第K最短路算法 最小生成树算法和第K最短路算法都是图论中的经典算法,它们在网络设计、路由选择等多个领域有着重要应用。这些算法在实际应用中通常需要根据具体问题的特点来选择合适的算法。MST算法着重于构造最小权重的树,而第K最短路算法侧重于寻找多条不同的路径。 阅读详情

算法目的:给出V0,K和一个带边权的无向图,求出在V0的度数最多为K的限制下的最小生成树

预备知识:最小生成树、动态规划

定义:强制K度最小生成树为所有生成树中V0的度数为K的权值最小的生成树

大概思路:先把V0和V0有关的边都删除,假设现在的图分成了M个联通块,则我们可以得知对于任何生成树V0的度数至少为M。那么我们依次求出强制M度最小生成树、强制M+1度最小生成树…强制K度最小生成树,这些生成树的最小值就是最小K度限制生成树

定理:任意强制K+1度最小生成树一定可以由某个强制K度最小生成树替换一条边得到

定理的证明:我们可以把强制K度最小生成树想象成V0连着K颗树,设新加入的边为(A1,B1),(A2,B2)…

易知,不存在(Ai,Bi)在同一棵树中。因为如果有,则两个生成树中至少有一个不是最小生成树
同理,也不存在(Ai,Bi)跨越不同的树。
所以可以得出所有的(Ai,Bi)满足Ai=V0或Bi=V0

又因为经过替换之后V0的度数只增加了1,所以若加入了X条这样的边,就必须删掉X-1条这样的边
由于原来的树是强制K度最小生成树,所以一定不存在在某棵树中换一个点与V0相连使得答案变小的情况
所以可以得出,所有的这样添加和删除操作必然都是在同一棵树中进行的
可以证明原来这棵树与V0相连的边一定不会被替换掉,所以X-1=0,X=1
也就是说,强制K+1度最小生成树是从强制K度最小生成树删一条边再加一条边产生的
证毕

有了这个定理,我们就可以更加快速的求出强制K度最小生成树了

算法步骤:1.先求出M,并对每个联通快求出一个最小生成树,然后选择一个权值最小的边使其和V0相连,这就是强制M度最小生成树

     2.然后考虑求强制M+1度最小生成树,根据定理,这个生成树是由上一个生成树替换一条边得到。当我们加入(V0,S)时,我们一定会选择删除现在从V0到S路径上边权最大的那个,所以我们O(N)扫一遍所有点,进行一次DP,求出从V0到所有点的路径最大权值是多少

     3.接着扫一遍所有没被加入的与V0相连的边,选择一条加入之后最优的边(边权-被替换掉的边权最小),把它加入进来,然后把原来的边加入,这就得到了强制M+1度最小生成树

     4.重复上面的过程,直到求出了强制K度最小生成树,则最小K度限制生成树一定在这些答案当中

算法复杂度:最开始求出最小生成树O(ElogE),接着进行K次替换,每次替换需要O(N)DP,再O(E)比较。所以总的时间复杂度为O(ElogE+K(N+E))

代码?等我写了再贴吧

度约束为2的最小生成树算法 实现度约束为2的最小生成树算法,基于普利姆算法 立即下载

相关推荐

水文模型大合集---SWAT模型、VIC模型、HEC-HMS模型、HSPF模型、FVCOM模型、Delft3D模型、HYPE模型.......

1.1 面源污染概要1.2 SWAT模型及应用1.3 SWAT模型原理1.4 SWAT模型输入文件1.5 ArcGIS与SWAT关系。

jwwkyjspt的博客 4361

K度限制最小生成树

K度限制最小生成树 含义: 在最小生成树的基础上,限制了某一点v0的度最大为K (<=K) ,要求满足此条件的最小生成树。 求解方法: 先在删去点v0的基础上跑最小生成树。此时有可能生成M个最小生成树(连通块),那么v0的度就至少为M,因为v0必须与每个连通块相连才能最终生成一棵树。然后每棵树选择一个和v0相连权值最小的边,连接此边,生成M度最小生成树。 求出每个点到v0的最短路径上的权值最大的边dp[i]。 遍历与v0相连但不在树中的边edge[v0][v],假设连接其中一条边,则应删去该边对应的

Khasehemwy的博客 840

IDEA 导入 jbolt项目(实验室非公开项目)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录准备一、准备数据库二、IDEA导入jbolt项目 准备 在实验室群文件中下载jbolt.zip和mysql.sql两个文件 将其解压到自己的目录下 一、准备数据库 打开Navicat新建一个jbolt数据库(字符集为utf8) 导入mysql.sql文件 数据库导入完毕 二、IDEA导入jbolt项目 点击打开一个项目 选择jbolt文件夹 以Maven形式打开 打开pom.xml 在里面添加jetty-server依赖

weixin_44094842的博客 976

最小度限制生成树(K度限制生成树)

例题 POJ 1639 Picnic Planning 求最小度生成树,实质上是将一个V0点的最小度生成树展开的过程。 首先,求的除了V0点以外的所有子树的最小生成树,并且知道每棵子树到V0的最小边,以及是由哪个点延展过去的,于是,我们首先可以确定最小度生成树,假设此时的度是cnt。(子树个数) 然后就是展开的过程,对于每棵子树,我们找到最优的展开点,而且,要知道对于所有的最优展开的点只...

既然弱小,就只顾变强就是了 1049

从零开始:Basler相机与pylon Viewer的工业视觉入门指南

本文详细介绍了Basler相机与pylon Viewer在工业视觉系统中的入门指南,涵盖硬件连接、软件安装、核心功能解析及实战案例。通过pylon Viewer的全面控制和参数调整功能,帮助新手快速掌握工业视觉检测技术,提升生产效率。

julia4scientist的博客 1136

DSP28335 ADC模块实战:从寄存器配置到精准数据采集(附代码详解)

本文详细解析DSP28335的ADC模块配置与数据采集实战,涵盖寄存器设置、采样窗口优化、中断处理及代码实现。重点解决ADC精度问题,如采样窗口不足导致数据偏差,提供完整代码示例和调试技巧,助力工程师实现精准数据采集。

kkk56的博客 865

最小k度限制生成树

【题目描述】 给你一个图,n个点,m条边,求一颗生成树满足如下条件: (1)结点1的度不超过k。 (2)在(1)条件下所求生成树最小。 【算法引入】 最小k度限制生成树,就是指有特殊的某一点的度不能超过k时的最小生成树。 如果T是G的一个生成树且dT(v0)=k,则称T为G的k度限制生成树。 G中权值和最小的k度限制生成树称为G的最小k度生成树。 【算法思想】 设特殊的...

anzhi7214的博客 334

企业微信消息推送API实战:5步搞定可信IP与域名配置(含Python代码示例)

本文详细解析了企业微信消息推送API实战中的关键配置步骤,特别是可信IP与可信域名的配置流程。通过5个清晰步骤,结合Python代码示例,指导开发者快速完成安全通信链路搭建,避免常见错误,确保消息推送服务稳定可靠。

qsc9012345的博客 997

最小度限制生成树

定义  在一张无向带权图中,找出一棵生成树,使得某个特定结点的度数不超过KK或者恰好等于KK的,并且权值和最小。求解算法  首先我们对不与特殊结点相连的边求最小生成树,得到几个连通分量。然后找出每个连通分量到特殊结点的最短的边,把这条边添加到生成树中,这样我们就得到了一个度限制为连通分量数的最小生成树。如果有连通分量到特殊结点没有边,则说明无法构成生成树。如果连通分量数大于KK,则说明无法在度数限制

yasolx的博客 1444

Python办公自动化:用python-docx打造专业级Word表格边框(附完整代码)

本文深入探讨了如何利用python-docx库精细控制Word表格边框,实现办公自动化。通过解析底层XML结构,提供了通用的`set_cell_border`函数,并附上完整代码,帮助用户轻松打造符合商业规范的专业级表格,提升报告、合同等文档的生成效率与视觉效果。

weixin_29089057的博客 547

FoundationPose 4090部署 真实场景迁移

复现并应用foundationpose

m0_52835296的博客 613

最小 k 度限制生成树

所谓最小 k 度限制生成树,就是指有特殊的某一点的度不能超过k时的最小生成树。简单思想:设特殊的那点为v0,先把v0,删除,求出剩下连通图的所有最小生成树,假如有m棵最小生成树,那么这些生成树必定要跟v0点相连,也就是说这棵生成树的v0点至少是m度的。若m>k,条件不成立,无法找到最小 k 度限制生成树;若m具体步骤:1. 先求出最小 m 度限制生成树:原图中去掉和 V0 相连的所有边(可以事先存

ColorWaterer的专栏 674

RS422总线

①.RS422发送驱动器无高阻三态(浮空)状态RS422收发芯片,发送脚固定强驱动输出,永远钳位 A/B 差分电平,不能关断、不能悬空,只要芯片上电,TX+、TX - 就强制输出互补电压(一路高、一路低)。多条发送并联在同一组差分线上:两个驱动器一个拉 A 高、一个拉 A 低,B 线反向拉扯 → 电源→地大电流对灌,瞬间芯片过流发烫烧毁、总线电平短路错乱。注意:RS485 带DE/RE 收发使能脚:不用发送时可关闭驱动器,输出变成高阻浮空,让出总线,因此能多节点分时发送。③.多点通信方式,一主多从方式;

zhuimeng_1234的博客 223

POJ 1639 Picnic Planning (k度限制最小生成树)

题目类型  次小生成树 题目意思 给出 n 个点 m 条边问最小生成树是否唯一 (n 解题方法 先用kruscal算法求出最小生成树和构成最小生成树的边 然后对于这棵最小生成树用 dfs 求出任两点间路径上最长的一条边是多少 然后枚举刚才后面没用过的边 (u, v) , 新的生成树的最小花费是w(u,v) - maxlen[u][v] (即现在枚

yunyouxi0's blog 1007

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

k度限制最小生成树

//poj 1639 int g[N][N]; int clo[N],dis[N],pre[N]; int n,rt; int prim(int s,int id){ dis[s]=0; int ans=0; while(1){ int idx=-1,tmp=INF; for(int i=0;i<n;i++)if(!clo[i]&&dis[i

wen_xp的专栏 689

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

POJ --- 1639 【k度限制最小生成树】

链接题目大意:  给出m条边,每条边有两个端点和一个权值;  求这个图在满足以下条件的情况下的最小生成树;  在所有点中,有一个特殊点Park,它在求得的最小生成树中的度必须小于等于某个值; 思路: k度限制最小生成树,也就是某个顶点有度数限制的生成树。 对这道题来说是名字为Park的顶点有度数限制,最大为k,我们把这个顶点设为v0好了。 首先需要知道生成树有一个回路性质:设C为图G中的

Anxdada -- 我等风来也等你 1124

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【UVA1537】Picnic Planning -最小k度限制生成树

【题目链接】https://www.luogu.com.cn/problem/UVA1537 【题目大意】 给定一张N个点M条边的无向图,求出无向图的一棵最小生成树,满足一号节点的度数不超过给定的整数s。保证 N <= 30 【分析】 实际上本题是求一个最小度限制生成树,什么是最小度限制生成树,就是指无向图中某一个特定的结点的度等于一个指定的数值且权值和最小的一棵生成树。 用数学语言来描述:...

迦勒底驻罗德岛本丸 304

【POJ 1639】 Picnic Planning (最小k度限制生成树)

【题意】   有n个巨人要去Park聚会。巨人A和先到巨人B那里去,然后和巨人B一起去Park。B君是个土豪,他家的停车场很大,可以停很多车,但是Park的停车场是比较小。只能停k辆车。现在问你在这个限制条件下。巨人到达Park的最短距离。   如果把那个条件去掉。那么就是就是求最小生成树。加上那个条件其实就是求顶点度数限制为k的最小生成树。 Input Input will...

weixin_30673611的博客 183

Picnic Planning poj 1639 k度限制生成树

传送门:poj1639 题意就很晦涩,看了半天才看懂。。我就不解释了,没看懂的再去看看吧。。 重点的重点是本题用到的算法:K度限制最小生成树 即求一个图的最小生成树,且给定点v的度数必须为k。 这也是我第一次接触这个名词,百度了一些资料罗列在下面: 国家集训队2004论文集_汪汀:http://wenku.baidu.com/view/8abefb175f0e7cd1842536aa.h

WA是一笔财富 416

poj1639 Picnic Planning,K度限制生成树

题意: 矮人虽小却喜欢乘坐巨大的轿车,车大到可以装下无论多少矮人。某天,N(N≤20)个矮人打算到野外聚餐。为了集中到聚餐地点,矮人A 要么开车到矮人B 家中,留下自己的轿车在矮人B 家,然后乘坐B 的轿车同行;要么直接开车到聚餐地点,并将车停放在聚餐地。虽然矮人的家很大,可以停放无数量轿车,但是聚餐地点却最多只能停放K 辆轿车。给你一张加权无向图,描述了N 个矮人的家和聚餐地点,求出所有矮人开

天亮说晚安 2188

【转】poj1639+最小k度限制生成树

没看懂。。。留着慢慢研究。。。。 Description The Contortion Brothers are a famous set of circus clowns, known worldwide for their incredible ability to cram an unlimited number of themselves into even the smalle...

weixin_30726161的博客 169

[最小k度限制生成树] POJ 1639 Picnic Planning

论文:汪汀--最小生成树问题的拓展 另见:http://blog.youkuaiyun.com/jarily/article/details/8779621 http://www.cnblogs.com/ylfdrib/archive/2010/08/21/1805505.html 主要思想:先求出最小m度限制生成树 由最小m度限制生成树找环得到最小m+1度限制生成树 实现么 Prime/Kruskal

雯舞 416
上一篇: BZOJ1117: [POI2009]救火站Gas
下一篇: BZOJ1138: [POI2009]Baj 最短回文路
commonc
博客等级 码龄11年 173粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值