zoukankan      html  css  js  c++  java
  • 图论中的“拆”

    对于图论中的某些问题,我们为了方便解决问题,一种常见的解题策略就是“拆”。这里我给出拆点和拆边的两个典型例子,算一个学习笔记把。

    拆点:网络流

    网络流中会遇到“某个点只能经过一次”这样的限制条件。由于经典的网络流算法是对边的限制,所以可以将点X拆成<X.a>,<X.b>。原来连入点的边连<X.a>,原来连出点的边连<X.b>。这样我们就可以通过对(<X.a>,<X.b>)的限制来限制点了。

    拆边:带花树

    给一个无向图和一个对应的顶点度序列(可以不与原图相同)。删去图中一些边能否使顶点的度与序列一一相同。

    一条无向边e连着两个点x,y。然后我们将e拆成<e.a>,<e.b>,加入边(x,<e.a>),(y,<e.b>),(<e.a>,<e.b>)。这样我们的匹配可以有两种选择:1、取(x,<e.a>),(y,<e.b>),2、取(<e.a>,<e.b>)。前者表示留下这条边,并消耗了x,y各一个度;后者则删去这条边,那么要得到完备匹配x,y的度就要另找了。

  • 相关阅读:
    Linux 基础篇(二)
    Linux 基础篇
    pandas 的使用
    git 使用和一些错误
    NetBackup :Unable to retrieve version of the server xxx.xxx.xxx
    Splunk 基本使用
    Symantec(赛门铁克)非受管检测
    matplotlib 的几种柱状图
    python 清空list的几种方法
    ACE
  • 原文地址:https://www.cnblogs.com/oldmanren/p/2344651.html
Copyright © 2011-2022 走看看