zoukankan      html  css  js  c++  java
  • 最小割模型

    网络流之最小割模型:
    本篇介绍了最小割的模型,如果想继续探究此模型,请阅读胡伯涛的《最小割模型在信息学竞赛中的应用》,本篇不会给与任何证明,(因为我不会。。。

    首先,我们知道有一个东西叫:最大流最小割定理。即最大流的流值等于最小割容量。

    网络流模型经典模型貌似有三个:最大权闭合子图,二分图最小点权覆盖集,二 分图最大点权独立集。

    • 最大权闭合子图

    介绍:
    有一些点,每个点有点权,点权可正可负。
    对于图中的任意一条有向边i和j,代表如果选择了点i就必须选择点j
    你需要选择一些点使得得到权值最大。

    做法:
    先把答案加上所有的正权值
    然后从源点向所有正权值的点连一条流量为权值的边
    所有负权值的点向汇点连一条流量为权值相反数的边
    原图中所有的限制关系(i,j)均建一条从i到j的流量为inf的边
    最终答案减去这个图的最小割即可

    例题:NOI2006 最大获利,[NOI2009]植物大战僵尸

    • 二分图最小点权覆盖

    介绍:
    点覆盖集:点覆盖集是无向图 的一个点集,使得该图中所有边都至少 有一个端点在该集合内。形象地说是若干个点“覆盖”住了 与它们邻接的边,这些边恰好组成了原边集。
    给出一个二分图,每个点有一个非负点权
    要求选出一些点构成一个覆盖,问点权最小是多少 。

    方法:设二分图的两个点集为A,B
    从源点向A集合中的点连一条流量为对应点权的边
    B集合中的点向汇点连一条流量为对应点权的边
    原图中所有的边(Ai,Bj)均建一条从Ai到Bj的流量为inf的边
    最终答案就是最小割。

    例题:
    是论文集里的一道题。在poj2125可以提交
    小明和小刚正在玩如下的游戏。首先小明画一个有N个顶点,M条边的有向图。然后小刚试着摧毁它。在一次操作中他可以找到图中的一个点,并且删除它所有的入边或所有的出边。
    小明给每个点定义了两个值:Wi+和Wi-。如果小刚删除了第i个点所有的入边他要给小明付Wi+元,如果他删除了所有的出边就需要给小明付Wi-元。
    找到小刚删除图中所有边需要的最小花费。

    • 二分图最大点权独立集

    介绍:给出一个二分图,每个点有一个非负点权

    方法:
    要求选出一些点构成一个独立集,问点权最大是多少
    可以感性理解为总和 - 二分图最小点权覆盖
    然后按照二分图最小点权覆盖那样建图,用总和减去。

    例题:方格取数

  • 相关阅读:
    NOI2015 品酒大会
    网络流算法进阶详解
    ZROJ 1267 我要打数论
    后缀自动机构建图解
    WC集训DAY2笔记 组合计数 part.1
    最小割的数学模型
    二次剩余学习笔记
    Hadoop:eclipse配置hadoop-eclipse-plugin(版本hadoop2.7.3)
    MapReduce:实现文档倒序排序,且字符串拼接+年+月+日
    MapReduce:汇总学生表和成绩表为----学生成绩表
  • 原文地址:https://www.cnblogs.com/gzygzy/p/10356392.html
Copyright © 2011-2022 走看看