zoukankan      html  css  js  c++  java
  • 网络流——最大权闭合子图

    网络流——最大权闭合子图

    定义

    • 闭合子图:有向图的闭合子图是指有向图中的一个子图(V),对于(forall <u,v>),若(uin V),则(vin V)
    • 最大权闭合子图:点权和最大的闭合子图。

    算法

    最大权闭合子图的求解一般使用网络流来求解。

    先给出算法,

    对于所有正权点从S向这个点连一条边,边权为点权

    对于所有负权点从这个点向T连一条边,边权为点权的相反数。

    对于原图中的边,边权设为inf。

    用所有正边权的和减去最小割就可以了。

    正确性显然

    考虑为什么是最优的

    最小割=(不选的正权之和+|要选的负权|)
    最大权闭合子图=(正权之和-不选的正权之和-要选的负权绝对值之和)=正权值和-最小割

    所以最小化最小割就可以了

  • 相关阅读:
    spark 中划分stage的思路
    如何带人
    技术管理
    学会谈判
    绩效评估与绩效反馈
    企业文化如何落地
    绩效沟通的best原则
    Area POJ
    Cows POJ
    Grandpa's Estate POJ
  • 原文地址:https://www.cnblogs.com/LLCSBlog/p/12616576.html
Copyright © 2011-2022 走看看