原文链接

定义

所谓闭合子图就是给定一个有向图,从中选择一些点组成一个点集V。对于V中任意一个点,其后续节点都仍然在V中。

建模

首先建立源点s和汇点t,将源点s与所有权值为正的点相连,容量为权值;将所有权值为负的点与汇点t相连,容量为权值的绝对值;权值为0的点不做处理;同时将原来的边容量设置为无穷大。

结论:最大权闭合子图的权值等于所有正权点之和减去最小割。

证明

接下来来证明这个结论,首先我们要证明两个引理:

1. 最小割一定是简单割

简单割指得是:割(S,T)中每一条割边都与s或者t关联,这样的割叫做简单割。
因为在图中将所有与s相连的点放入割集就可以得到一个割,且这个割不为正无穷。而最小割一定小于等于这个割,所以最小割一定不包含无穷大的边。因此最小割一定一个简单割。

2. 简单割一定和一个闭合子图对应

闭合子图V和源点s构成S集,其余点和汇点t构成T集。
首先证明闭合子图是简单割:若闭合子图对应的割(S,T)不是简单割,则存在一条边(u,v),u∈S,v∈T,且c(u,v)=∞。说明u的后续节点v不在S中,产生矛盾。
接着证明简单割是闭合子图:对于V中任意一个点u,u∈S。u的任意一条出边c(u,v)=∞,不会在简单割的割边集中,因此v不属于T,v∈S。所以V的所有点均在S中,因此S-s是闭合子图。
由上面两个引理可以知道,最小割也对应了一个闭合子图,接下来证明最小割就是最大权的闭合子图。
首先有割的容量C(S,T)=T中所有正权点的权值之和+S中所有负权点的权值绝对值之和。
闭合子图的权值W=S中所有正权点的权值之和-S中所有负权点的权值绝对值之和。
则有C(S,T)+W=T中所有正权点的权值之和+S中所有正权点的权值之和=所有正权点的权值之和。
所以W=所有正权点的权值之和-C(S,T)
由于所有正权点的权值之和是一个定值,那么割的容量越小,W也就越大。因此当C(S,T)取最小割时,W也就达到了最大权。

转载于:https://www.cnblogs.com/2016gdgzoi471/p/9476862.html

【转载】最大权闭合子图 【网络流】相关推荐

  1. Cogs 727. [网络流24题] 太空飞行计划(最大权闭合子图)

    [网络流24题] 太空飞行计划 ★★☆ 输入文件:shuttle.in 输出文件:shuttle.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] W 教授正在为国家航天中心计 ...

  2. hihocoder1398 网络流五之最大权闭合子图

    最大权闭合子图 虽然我自己现在总结不好最大权闭合子图.但也算稍稍理解辣. 网络流起步ing~~~(- ̄▽ ̄)- #include<iostream> #include<cstdio& ...

  3. 【bzoj1565】[NOI2009]植物大战僵尸 【网络流】【最大权闭合子图】

    题解:可以看出每个格子有一些前驱,只有前驱都被消灭了才能走到这里.因为要求最大的权值和,所以我们可以用最大权闭合子图来求解这题.最大权闭合子图点这里! 然后让蒟蒻讲一讲自己掉的坑. 首先,根据WYC大 ...

  4. 网络流 - 最大权闭合子图 [NOI2009]植物大战僵尸

    算法思想概述 本题是一道最大权闭合子图模型,应用的算法为最大流(BFS增广即可),定理为最大流最小割定理,辅助算法为拓扑排序. 问题初始建模 首先我们我建立图论模型,把每个植物当做一个顶点,植物携带的 ...

  5. BZOJ 4873 [Shoi2017]寿司餐厅 | 网络流 最大权闭合子图

    链接 BZOJ 4873 题解 当年的省选题--还记得蒟蒻的我Day1 20分滚粗-- 这道题是个最大权闭合子图的套路题.严重怀疑出题人就是先画好了图然后照着图编了个3000字的题面.和我喜欢的妹子当 ...

  6. PowerOJ 1737 网络流24题之二 太空飞行计划问题(最大权闭合子图)

    PowerOJ 1737 网络流24题之二 太空飞行计划问题 原题地址: https://www.oj.swust.edu.cn/problem/show/1737 题意: W 教授正在为国家航天中心 ...

  7. 网络流24题之太空飞行计划——最大权闭合子图

    题目链接:太空飞行计划 [网络流24题] 太空飞行计划 ★★☆ 输入文件:shuttle.in 输出文件:shuttle.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] W ...

  8. #1398 : 网络流五·最大权闭合子图

    题目链接 结论 最大权闭合子图的权值 === 所有正权点之和−-−最小割 简单割(或最小割)将有向图分成两类,与源点sss相连的称为SSS,与汇点ttt相连的称为TTT 割的流量===与sss相连的正 ...

  9. 图论 —— 网络流 —— 最小割 —— 最大权闭合子图

    [概述] 给出一个有向图,每一个点都有一个权值,现在要选择一个权值和最大的子图,使得每个点的后继都在子图中,这个子图就称为最大权闭合子图. 如上图,能选的子图有:Ø.{1,2,3,4,5,6}.{3, ...

最新文章

  1. 创建 Web 前端开发环境(node和npm)
  2. 【机器学习入门】图解超经典的KNN算法
  3. VS2008编写64位程序
  4. 【EMV L2】SDA静态数据认证处理流程
  5. 利用jQuery实现的Ajax 验证用户名是否存在
  6. 任正非:再见,荣耀!从此以后便是对手!
  7. javascript 库_您应该在2020年尝试的10个很棒JavaScript库
  8. In this year of Hors, he is an adopted son
  9. 关于RecyclerView(二)设置EmptyView
  10. 95. php 与 xml
  11. Chrome控制台console的各种用法(方便调试)
  12. jdk Comparator接口
  13. Hadoop的安装和使用
  14. “蓝桥+实验楼”:全新的平台、更优的服务
  15. 解决github上的提交说明中文乱码的问题
  16. oracle收集直方图,Oracle的直方图
  17. 【鸿蒙学院】鸿蒙(HarmonyOS)IDE迎来重大更新,新特性足以让你尖叫!
  18. 语音验证码接收平台接口调用文档
  19. Android-内存泄露知识详解
  20. 【shell 脚本编程】一键搭建 LAMP,Web 应用程序平台,你值得拥有

热门文章

  1. easyui combo自动高度(下拉框空白问题)
  2. Sql Server 连接池及其用法
  3. 好久不见(致win7)
  4. StringBuffer
  5. C#_获取文件路径中的文件名_扩展名
  6. Linux中DD命令详解
  7. NCEMASLG-32G的说明
  8. docker的容器管理和网络模式
  9. vasp软件_量子力学分子动力学软件包-VASP
  10. python开发框架 代码生成_500 行 Python 代码构建一个轻量级爬虫框架