[学习笔记] 二分图基础定理的相关证明

最小点集覆盖=最大匹配

最小点集覆盖:选出最少的点使得每条边都至少有一个端点被选。

  • 先证最小点集覆盖 ≥\ge 最大匹配

    假设最大匹配为 xxx,即有 xxx 条边两两之间没有公用点。

    光覆盖这些边就要用到 xxx 个点。

    “不少于”已证。

  • 再证最小点集覆盖 ≤\le 最大匹配。

    假设最小点集覆盖为 xxx。那么这些点都至少能分别找到一条边不共用顶点(不出现多对一的情况)。

    因为如果一个点有两条边的对应端点都在最小点集覆盖里面,且对应的两个端点都只能找到这个点的边,不如将两个端点扔掉,将这个点加入。

    只要每个端点都选择一个这样的边,就必然能转化为一个匹配数与点集覆盖的点数相等的匹配方案。

    所以最大匹配至少为最小点集覆盖数。

    “不大于”已证。

综上,我们可以说最小点集覆盖等于最大匹配。

最小不交路径覆盖=总点数-最大匹配数

最小不交路径覆盖:在有向无环图中,选出最少的路径数使得每个点都至少被遍历一次,且路径两两无交点。

对原图(共 nnn 个点)中的每个点 iii 建立左部点 i1i_1i1 和右部点 i2i_2i2

x→yx\rightarrow yxy 有边,则在二分图上连一条 x1→y2x_1\rightarrow y_2x1y2 的边。

原图最小不交路径覆盖条数 =n−=n-=n 新二分图上的最大匹配数。

初始时将每个点都看成一条路径,原图如果两点间有边,那么就相当于可以用一条路径覆盖这两个点,路径数减一,对应二分图上两点间的一个匹配。

利用递归地思想,可以扩展出原图的一条路径拆成了若干个二分图上的匹配。

二分图上每个点只会匹配一次也就是只会对一条路径产生减一的效果,这正好对应了“不交”的要求。

最小可交路径覆盖

floyd\text{floyd}floyd 传递闭包后建新图,问题直接转化为在新图上的最小不交路径覆盖。

即,若 x→y→z⇒x→zx\rightarrow y\rightarrow z\Rightarrow x\rightarrow zxyzxz

只要原图两个点之间有路径可以到达就在二分图上进行连边。

这样虽然跑出来 x−zx-zxz 的一条匹配边,但其实在原图上是经过了 yyy 点的,由于“可交”仍然起到了将 xxxzzz 路径合并减少一条的效果。

最大独立集=总点数-最小覆盖集

最大独立集:选出若干个点使得点两两之间没有边相连。

最小覆盖集:就是最小点集覆盖。

显然,最大独立集 +++ 最大匹配 === 总点数。

如果不是最大匹配,也就是说剩下的点集中存在两个点之间有边相连,不符合最大独立集定义,匹配就要 +1+1+1,去掉两个点中的任意一个。

因为最小覆盖集等于最大匹配。

结论得证。

最大点权独立集=总权值-最小点权覆盖集=总权值-最小割

最大流等于最小割。

证明类比上面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Boxes

Boxes 题意: 有n个盒子,每个盒子里要么是黑球,要么是白球,你可以花C的代码得知剩下所有盒子中黑球数量和白球数量,(只是知道总数量,并不知道具体哪个盒子里是什么),你可以可以花费wi的代价开第…

Double Strings

Double Strings 题意: 给你s和t两个字符串,在其中选出两个等长的子序列(可以不连续)a,b,满足a的字典序严格小于b的字典序,问方案数,答案mod(1e97) 题解: 好的方案的构成是一段相同的前缀一个不同的字符…

你真的了解用户吗?-浅谈《用户画像》的意义和方法

作者:陈炯关于作者系统集成项目管理高级工程师某大型国有银行高级质量管理师从事IT项目管理工作十余年具有丰富的开发与管理经验公司内部敏捷转型的发起者之一深度参与敏捷实践与总结大学校园里流传最广的一句话是什么?“防火防狼防师兄”。为什么师兄这…

[学习笔记] 二次剩余

二次剩余 对于素数 ppp 和数 aaa,满足 (a,p)1(a,p)1(a,p)1。(注意 aaa 不一定小于 ppp) 若 ∃xx2≡a(modp)\exist_{x}\ x^2\equiv a\pmod p∃x​ x2≡a(modp),则称 aaa 是模 ppp 意义下的二次剩余,xxx 称为该二次剩余…

Script Lab 续:为 Officejs 开发配置 VSCode 环境

垫场AA:深度:从 Office 365 新图标来看微软背后的设计新理念--------------------------------------------------前期01:尝试:Script Lab,快速 Office 365 开发工具前期02:尝试:Script Lab&…

P3567 [POI2014]KUR-Couriers

P3567 [POI2014]KUR-Couriers 题意: 给一个长度为 n 的正整数序列 a。共有 m 组询问,每次询问一个区间 [l,r] ,是否存在一个数在 [l,r]中出现的次数严格大于一半。如果存在,输出这个数,否则输出 0。 题解&#xff1…

[WC 2022 Day3 zmy] Od deski do deski(dp)

设 fi:1∼if_{i}:1\sim ifi​:1∼i 能否分成若干个首尾相同的区间 则有 fiORj<i(fj−1∧ajai)f_{i}\text{OR}_{j<i}(f_{j-1}\wedge a_ja_i)fi​ORj<i​(fj−1​∧aj​ai​)。 这是最原始的暴力 dpdpdp&#xff0c;时间 O(n2m)O(n^2m)O(n2m)。 事实上&#xff0c;这…

编程方式重启 ASP.NET Core 网站

点击上方蓝字关注“汪宇杰博客”常言道&#xff0c;多喝热水&#xff0c;重启试试。有时候当应用工作不正常&#xff0c;重启也许能解决问题。但是程序员通常接触不到服务器系统权限。而运维人员和公司流程经常人为制造麻烦阻止我们去重启应用。老实的程序员不善言辞交际&#…

可持久化3--可持久化01Trie

01Trie 可持久化 01Trie 的方式和可持久化值域线段树的方式是相似的&#xff0c;只是以 01字典树 的方式来维护值域。一般用来解决异或相关的能够按位贪心的题目。 其实就是将可持久化线段树中的操作嫁接到01Trie中&#xff0c;这样就是解决任意一个区间内的问题。 例题&…

AGC044E Pandom Pawn(期望+凸包)

最开始我们先旋转一下这张桌子&#xff0c;使得 A1An1max⁡{Ai}A_1A_{n1}\max\{A_i\}A1​An1​max{Ai​}。 这是非常有效的&#xff0c;因为我们把环就变成链&#xff0c;只要到达了链的任意一端 1/n11/n11/n1 就肯定会结束游戏。 定义 Ei:E_i:Ei​: 从 iii 开始游戏&#xf…

.NET Core 容器化调查

前几天在微信朋友圈做了一个简单的调查&#xff0c;参与人数有500人&#xff0c;调查结果如下&#xff1a;使用K8S的比例非常类似于2017年初我在公众号里针对.NET Core的使用情况的比例。.NET Core是针对云原生应用开发而重新设计的一个平台&#xff0c;.NET Core借鉴了.NET Fr…

P4735 最大异或和

P4735 最大异或和 题意&#xff1a; 一个非负序列a&#xff0c;初始长度为n&#xff0c;有两种操作&#xff1a; A x&#xff0c;在序列中添加x&#xff0c;n加一Q l r x,询问操作&#xff0c;询问一个位置p&#xff0c;p满足l<p<r,使得p到位置n的的异或和与x的异或值…

[学习笔记] 单位根反演

单位根反演 [k∣n]1k∑i0k−1ωkin[k\mid n]\frac 1k\sum_{i0}^{k-1}\omega_k^{in}[k∣n]k1​∑i0k−1​ωkin​ kkk 次单位根是 kkk 次幂为 111 的复数解 wkw_kwk​。利用单位圆和单位根的关系很容易证明。 k∣nk\mid nk∣n 显然 ωkin\omega_k^{in}ωkin​&#xff0c;相当于…

NET Core微服务之路:再谈分布式系统中一致性问题分析

前言一致性&#xff1a;很多时候表现在IT系统中&#xff0c;通常在分布式系统中&#xff0c;必须&#xff08;或最终&#xff09;为多个节点的数据保持一致。世间万物&#xff0c;也有存在相同的特征或相似&#xff0c;比如儿时的双胞胎&#xff0c;一批工厂流水线的产品&#…

P4592 [TJOI2018]异或

P4592 [TJOI2018]异或 题意&#xff1a; 现在有一颗以 1 为根节点的由 n 个节点组成的树&#xff0c;节点从 1 至 n 编号。树上每个节点上都有一个权值 vi。现在有 q 次操作&#xff0c;操作如下&#xff1a; 1 x z&#xff1a;查询节点 x 的子树中的节点权值与 z 异或结果的…

[HAOI2018] 染色(二项式反演+NTT)

洛谷链接 显然颜色数量不会超过 lim⁡min⁡(m,ns)\lim\min(m,\frac ns)limmin(m,sn​) fi:f_i:fi​: 至少有 iii 种颜色恰好出现了 sss 次的方案数。 则 fi(mi)⋅n!(s!)i(n−is)!⋅(m−i)n−isf_i\binom mi\frac{n!}{(s!)^i(n-is)!}(m-i)^{n-is}fi​(im​)⋅(s!)i(n−is)!n!​…

使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)

Docker - 使用 Nexus3 搭设私有 NuGet 仓库Nexus 默认帐号Repositories上传组件包(Package)Repositories 说明准备 Package上传 Package使用 Package拉取 Nexus 镜像运行 NexusNuGetNexus 私有仓库前言说明安装Nexus NuGet 仓库简单使用总结前言NuGetNuget 是免费、开源的包管理…

P3293 [SCOI2016]美味

P3293 [SCOI2016]美味 题意&#xff1a; 有n个数组a&#xff0c;现在有m个询问&#xff0c;每次给出一个b和x&#xff0c;问b xor (a[i] x)的最大值是多少&#xff1f; 题解&#xff1a; 不难看出01Trie的题目 我们设ansa[i]x,我们想要b xor ans的最大值&#xff0c;这个很…

[HNOIAHOI2018] 转盘(线段树维护单调栈)

problem 洛谷链接 solution 结论&#xff1a;最优方案中一定有一种是全程不停的。 断环成链&#xff0c;接一个 [1,n][1,n][1,n] 在后面形成 2n2n2n 的序列&#xff0c;同时将时间戳逆过来。 转化成&#xff1a;在 ttt 时刻从某个位置 i∈[n,2n)i\in[n,2n)i∈[n,2n) 开始往…

P2446 [SDOI2010]大陆争霸

P2446 [SDOI2010]大陆争霸 题意&#xff1a; n个点&#xff0c;m个边&#xff0c;wi为每个边的边权&#xff0c;对于每个点i&#xff0c;其被l个点保护着&#xff0c;也就是如果保护其的点没有被破坏&#xff0c;点i无法被破坏(也无法经过其前往其他点)。现在从1出兵(无限数量…