- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北大ACM pkuacm_summar8
动态规划 设最小p度限制生成树为T , T是无根树,为了简便,我们把v0作为该树的根。 定义Father(v)为T中v的父结点,Father(v0)无意义。 设Best(v)为路径v0-v上与v0无关联且权值最大的边。 动态规划 Best(v)的状态转移方程为 Best(v)=max(Best(Father(v)),ω(Father(v),v)) 边界条件为 Best[v0]=-∞,{Best[v’]=-∞|(v0,v’)∈E(T)}。 动态规划 状态总共|V|个,而状态转移的时间复杂度为O(1),因而总的时间复杂度是O(V),即通过最小p度限制生成树求最小p+1度限制生成树的时间复杂度是O(V)。 具体实现:从V0开始做一遍广搜即可。 问题:最先求几度的最小度限制生成树呢?即p从多少开始求? 答 案 因为求最小k度限制生成树,当 k DG(v0) 时,问题并不总是有解的。如图。 所以如果将v0去掉,图会被分成m个连通支,那么就先求最小m度限制生成树。 V0 如何求最小m度限制生成树 1)我们可以先删去v0,对各个连通分量求最小生成树。 具体实现:枚举每个顶点作为起点执行Prim算法,执行的过程中对同一连通支的顶点用相同数字标记。 2)再在每个连通分量中找最小边和v0相连。 3)得到最小m度限制生成树。 求最小m度生成树:O(VlogV+E); 最多k次从p度到p+1度的递推:k*O(V); 总复杂度:O(VlogV+E+kV); 时间复杂度分析 例题3:还是通讯网络 某地区共有n座村庄,每座村庄的坐标用一对整数(x, y)表示,现在要在村庄之间建立通讯网络。 通讯工具有两种,分别是需要铺设的普通线路和卫星设备。 只能给k个村庄配备卫星设备,拥有卫星设备的村庄互相间直接通讯。 铺设了线路的村庄之间也可以通讯。 例题3:还是通讯网络 问:怎样合理的分配卫星和铺设线路,使得在保证每两座村庄之间都可以直接或间接地通讯的前提下,铺设线路的总长度最短。? 数据规模:0 = k = n = 500 分析 我们增加一个节点:卫星。卫星到所有节点的权值都是 0 。 那么,我们要求的仍是一个最小生成树。只不过卫星最多只能与 k 个节点相连。 也就是说,节点:卫星的度限制为 k 。 这是一个最小度限制生成树的问题! 例题4:POJ1679 The Unique MST 题目:要求判断给定图的最小生成树是否唯一 解:显然,这是一个求次小生成树的问题,如果求出来的次小生成树权值和与最小生成树相同,则不唯一 次小生成树的定义 设G=(V , E , ω)是连通的无向图,T是图G的一个最小生成树。如果有另一棵树T1,满足不存在树T’ , T’ ≠ T , ω(T’)ω(T1) ,则称T1是图G的次小生成树。 次小生成树有可能也是最小生成树 定理 定理:次小生成树是最小生成树的邻集。 证明 证明: 可以证明下面一个强一些的结论: T是某一棵最小生成树,T0是任一棵异于T的树,通过变换 T0 -- T1 -- T2 -- ... -- Tn (T) 变成最小生成树。 所谓的变换是,每次把Ti中的某条边换成T中的一条边, 而且树T(i+1)的权小于等于Ti的权。 具体操作 在Ti中任取一条不在T中的边uv。 把边uv去掉,就剩下两个连通分量A和B,在T中,必有唯一的边u‘v’ 连结A和B。 显然u‘v’的权比uv小 (否则,uv就应该在T中)。把u‘v’替换uv即得树T(i+1)。 特别地:取T0为任一棵次小生成树,则T(n-1)满足定义且跟T差一条边。上述定理得证。 算法 利用该定理,可以得到O(V^2)的算法,具体如下: Step 1. 先用prim求出最小生成树T。在prim的同时,用一个矩阵max_val[u][v] 记录在T中连结任意两点u,v的唯一的路中权值最大的那条边的权值。 这是很容易做到的,因为prim是每次增加一个结点s,而设已经标号了的结点集合为W,则易求W中所有点到s的路中的最大边权值 设 u 属于W,且 s是被连接到W中的v点的, 则 Max_val[v][s] = 边(v,s)的权 Max_val[u][s] = Max( Max_val[v][s], Max_val[u][v]) 用时O(V^2)。 算法 Step 2. 枚举所有不在T中的边uv,加入边uv则必然替换权为max_val[u][v]的边,枚举一次就得到一棵新的生成树,如果在这些生成树中有权值和与原最小生成树相等的,则最小生成树不唯一 用时O(E)。 总复杂度:O(V^2) 最小生成树(MST)问题的扩展 北京大学 郭炜 本文大量内容引至郑聃崴同名讲义 用prioirty_qu
您可能关注的文档
最近下载
- 售后服务体系、流程及售后保障措施.docx VIP
- 北师版初中心理健康七年级全一册第一课翻开新的一页开启新学期课.pptx VIP
- 注塑生产排程月计划(ASDJS)自动排程.xls VIP
- QCT484-1999 汽车油漆涂层.pdf VIP
- 《影视后期合成》教案全套项目1--11 初识After Effects--渲染输出.docx VIP
- SAP物料分类账操作详解(S4系统).doc VIP
- 人教版小学数学四年级上册第六单元《用五入法试商的除法》PPT课件.pptx VIP
- 云南硅pu篮球场施工方案.docx VIP
- 学生牛奶糕点配送项目供货保障措施方案.docx VIP
- 课件中国现代文学史下.pptx VIP
文档评论(0)