首页 > 其他分享 >最小割的可行边与必须边

最小割的可行边与必须边

时间:2023-05-30 23:11:59浏览次数:45  
标签:满流 可行 最小 汇点 割集 必须 rightarrow

最近做了一道神奇的题,涉及了一些奇怪的知识,了解了一下

补:比较绕人,部分可以多读几遍

已知割集是指在网络流的一张图上,删去割集里的边后使原点与汇点不连通,并且这些边构成最小割,显然一张网络流图上有多个割集,这时就有 \(2\) 个概念去区分存在于这些割集中的边:

1.可行边: 指存在于任意割集中的的边(可看做所有割集的并)

2.必须边: 指存在于所用割集中的的边(可看做所有割集的交)

从定义可知,必须边集合是可行边集合的子集

显然,割集中的边都是满流

如果是可行边,充要条件:

\((1)\). 满流

\((2)\). 在残余网络中找不到 \(u\rightarrow v\) 的路径

如何去证明\((2)\)呢?

考虑我们有一条从 \(u\) 到 \(v\) 的路径,假设此时\(u\rightarrow v\)已经满流 (要是没满流连 \((1)\) 条件都不满足)

此时加上残量网络中的反悔边,\(u\ v\)在一个环内,发现\(u\rightarrow v\)的满流就可以沿着环流动,不破坏最小割,但是满流就被破坏了

由此我们可以看出,如果\(u\rightarrow v\)是一个可行边,他们不能在一个强连通分量

如果是可必须边,充要条件:

\((1)\). 满流

\((2)\). 残余网络中源点能到入点, 出点能到汇点

同样来考虑证明\((2)\)

我们已知,必须边集合是可行边集合的子集,首先它们是可行边,再被我们进一步挑选成为必须边,所以它们在残余网络中已经没有了 \(u\rightarrow v\) 的路径

如果源点到不了汇点,则说明它前面一定有其他满流的边堵塞了全部流量,此时它就不是唯一的了,可以选前面的进行替代(出点到汇点同理)

由此我们可以看出,如果\(u\rightarrow v\)是一个必须边,源点和 \(u\) 必须在一个强连通分量里, \(v\) 和汇点也必须在同一个强连通分量

此时定理就证明完了

用 \(tarjan\) 便能很便捷求出残量网络上的强连通分量,代码就不做赘述

不会 \(tarjan\) 的可以去洛谷上找板子, 还有更多神秘妙妙用法

例题:

\(1\). P4126 [AHOI2009]最小割

\(2\). P3308 [SDOI2014]LIS

标签:满流,可行,最小,汇点,割集,必须,rightarrow
From: https://www.cnblogs.com/Linnyx/p/17444810.html

相关文章

  • Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
    全文下载:http://tecdat.cn/?p=22319最近我们被客户要求撰写关于偏最小二乘法(PLS)回归的研究报告,包括一些图形和统计输出。本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方法,可以去除潜在的离群点和只......
  • python spark 求解最大 最小 平均 中位数
    rating_data_raw=sc.textFile("%s/ml-100k/u.data"%PATH)printrating_data_raw.first()num_ratings=rating_data_raw.count()print"Ratings:%d"%num_ratings#In[35]:rating_data=rating_data_raw.map(lambdaline:line.split(&quo......
  • sql 求最小依赖集
    步骤1.右切,箭头右边只留一个字母2.除本身求闭包,假设去掉某个条件BCD->A(中的A),利用B,C,D在剩下的条件中求闭包,即求(BCD)+F=??    若闭包中不含有A,则保留这个条件;含有A即能推出(不需要BCD->A),删掉这个条件3.左部最小化,即尽可能压缩左边,例BCD->A,如看看BC能否推D,若能,改原条件......
  • leetcode 2712. 使所有字符相等的最小成本
    2712.使所有字符相等的最小成本给你一个下标从 0 开始、长度为 n 的二进制字符串 s ,你可以对其执行两种操作:选中一个下标 i 并且反转从下标 0 到下标 i(包括下标 0 和下标 i )的所有字符,成本为 i+1 。选中一个下标 i 并且反转从下标 i 到下标 n-......
  • 最小生成树_LuoguP1669
    P1669P1669[USACO04DEC]BadCowtractorsS题目传送门题意简化:在一个有\(N\)个点\(M\)条边的图中选出\(N-1\)条边构成一棵树,使得树的总边权最大,求最大总边权。上述问题即为最小(大)生成树问题,本题为最大生成树,如有未详者可以移步P3366。该问题一般是Kruskal和Prim......
  • 代码随想录算法训练营第二十一天|530. 二叉搜索树的最小绝对差、
    【参考链接】530.二叉搜索树的最小绝对差【注意】1.二叉搜索树采用中序遍历,其实就是一个有序数组。2.使用双指针,更快。【代码】1#Definitionforabinarytreenode.2#classTreeNode(object):3#def__init__(self,val=0,left=None,right=None):4#......
  • 代码随想录算法训练营第21天 | ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中
     第六章 二叉树part07今日内容    详细布置   530.二叉搜索树的最小绝对差  需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:视频讲解:  501.二叉搜索树中的众数  和 530差不多双指针思路,不过 这里涉及到一个很巧妙的代码......
  • 代码随想录算法训练营第16天 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111
     第六章二叉树part03 今日内容:  ●  104.二叉树的最大深度  559.n叉树的最大深度●  111.二叉树的最小深度●  222.完全二叉树的节点个数 迭代法,大家可以直接过,二刷有精力的时候 再去掌握迭代法。  详细布置   104.二叉树的最大深度 (优先掌......
  • LeetCode 530. 二叉搜索树的最小绝对差
    题目链接:LeetCode530.二叉搜索树的最小绝对差题意:给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。解题思路:递归法1既然是二叉搜索树,那么中序遍历一定是有序的,因此最小的插值一定出现在相邻的两个......
  • 学英语必须记牢的十类词性分类及用法
    英语语法最最基础的就是词性了,因为后续的各种时态变化、从句很多的考点都是结合词性才产生的!要想学好语法,那就一定要打牢词性这个基础!今天皮卡丘总结整理了常考词类的详解+用法+考点。01、词性的分类词类又叫词性,英语单词根据其在句子中的功用,可以分成十个大类。1.名词nounn.......