国家集训队论文集王俊.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
国家集训队论文集王俊.ppt

浅析二分图匹配 在信息学竞赛中的应用 长郡中学 王俊 引言 [例题] Roads 初步分析 根据与树T的关系,我们可以把图G0中的边分成树边与非树边两类。 设Pe表示边e的两个端点之间的树的路径中边的集合。 初步分析 初步分析 初步分析 初步分析 算法分析 算法分析 复杂度分析 算法分析 算法分析 证明引理 算法分析 算法分析 算法分析 复杂度分析 复杂度分析 复杂度分析 复杂度分析 回顾 总结 结语 下面给出算法的流程: 将Y结点非降序排列 初始化M,P和Path j ← 1 q ← Y的第j个结点 存在q的某个邻结点p为可匹配点 更新M,R和Path jm j ← j + 1 结束 N N Y Y 下面来分析一下该算法的时间复杂度。 算法中执行了如下操作: 3 更新M; O(n) 2 询问是否存在q的某个邻结点p为可匹配点; O(mn)=O(n3) 1 将所有Y结点按权值大小非降序排列; O(mlog2m)=O(n2log2n) 4 更新R以及Path; O(n3) 前三个操作复杂度都显而易见,下面讨论操作4的时间复杂度。 如果某个点为可匹配点,则它的路径必然为 i0→j1→i1→j2→i2 →… →jk →ik (k≥0),其中i0为未匹配点而且(jt, it)(t ∈[1,k]) 为匹配边。 i0 j1 i1 j2 i2 jk ik 也就是说我们在更新R和Path时只需要处理X结点和已匹配的Y结点以及它们之间的边构成的子二分图。 显然任意时刻图G的匹配边数都不超过n-1,所以该子图的点数为O(n),边数为O(n2)。所以该操作执行一次的复杂度即为O(n2),最多执行n次,所以其复杂度为O(n3)。 所以Y结点中的未匹配点是不可能出现在某个X结点i的Pathi中的。 那么算法总的时间复杂度为: O(n2log2n) +O(n3)+ O(n)+ O(n3)= O(n3) 因为O(m)=O(n2),所以该算法相对于算法一O(m3)=O(n6)的复杂度,在效率上有了巨大的飞跃。 通过对最小生成树性质的分析得到一组不等式Dv≤Du。 将不等式变形后,通过对其观察,联想到了解决二分图最佳匹配经典的KM算法,即得到了算法一。 正是通过猜想将权值由图中的边转移到顶点上,重新构造二分图,才得到了更为优秀的算法二! 信息学竞赛中的各种题目,往往都需要通过对题目的仔细观察,构造出合适的数学模型,然后通过对题目以及模型的进一步分析,挖掘出问题的本质,进行大胆的猜想,转化模型,设计优秀的算法解决问题。 * * 二分图匹配是一类经典的图论算法,在近年来信息学竞赛中有广泛的应用。 二分图和匹配的基础知识已经在前辈的集训队论文中有过介绍,本文主要通过一道例题研究其应用。 请求出修改的最小代价。 给定一个无向图G0=(V0,E0,C),V0为顶点集合,E0为边集合(无重边),C为边权(非负整数)。设n= |V0|,m= |E0|,E0中前n-1条边构成一棵生成树T。请将边权进行如下修改,即对于e∈E,把Ce修改成De(De也为非负整数),使得树T成为图G的一棵最小生成树。修改的代价定义为: 4 1 5 2 3 4 6 2 2 3 5 7 4 1 5 2 3 4 4 2 4 3 3 4 f=|6-4|+|2-2|+|5-3|+|7-4|+|3-3|+|2-4|+|4-4|=9 如右图,u∈T,t1,t2,t3∈T,且t1,t2,t3连接了u的两个端点,所以Pu={t1,t2,t3}。 / 那么用非树边u代替树边t1,t2,t3中任意一条都可以得到一棵新的生成树。 而如果u的边权比所替换的边的边权更小的话,则可以得到一棵权值更小的生成树。 那么要使原生成树T是一棵最小生成树,必须满足条件: Dt1≤ Du ; Dt2≤ Du ; Dt3≤ Du u t1 t2 t3 如果边v,u(u可替换v),则必须满足 Dv≤ Du ,否则用u替换v可得到一棵权值更小的生成树T-v+u 。 / 对边v,u如果满足条件u∈T ,v∈Pu, 则称u可替换v。 不等式Dv≤Du中v总为树边,而u总为非树边。 那么显然树边的边权应该减小(或不变),而非树边的边权则应该增大(或不变)。 设边权的修改量为Δ,即 Δe=|De-Ce| / 当e∈T, Δe=De-Ce, 即De=Ce+Δe 当e∈

文档评论(0)

000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档