• 二分图中的匹配


    问题一(未完):
    考虑n行m列的棋盘,其某些方格禁止落子。能够被放到棋盘上的非攻击型车的最多个数。

    考虑4行5列的棋盘,其落子位置如下表:

      y1 y2 y3 y4 y5
    x1   *      
    x2     *   *
    x3 *   *   *
    x4 *        

    对应于棋盘的每一行,有一个左顶点:xi是对应行i的左顶点(i=1,2,3,4)

    对应于棋盘的每一列,有一个右顶点:yi是对应列j的右顶点(j=1,2,3,4,5)

    他们的集合分别是X={x1,x2,x3,x4},Y={y1,y2,y3,y4,y5}

    在G中,用一条边连接顶点xi和顶点yj当且仅当在行和列交叉处的方格是允许落子的。

    令▲ 是这种方法所得到的边集,然后,由G=(X,▲,Y);

    印象中有题目不是这么简单。。再补。。

    问题二:
    再考虑n行m列的棋盘,其某些方格禁止落子。能够放到棋盘上的多米诺牌(允许盖住两个方格)的最大牌数。

    我们可以将棋盘分成白色方格,黑色方格,


    用w1,w2,w3,...,表示白色,b1,b2,b3,....,表示黑色

    w1 × w2 b1 w3
    b2 w4 × w5 ×
    × b3 × b4 ×
    × w6 b5 w7 b6

    他们的集合分别是X={w1,w2,...,w7},Y={b1,b2,...,b6}.

    在G中的边当且仅当一张多米诺牌同时覆盖两个方格,即相邻不同色建边。

    于是,G的每一条边对应棋盘上可能的一张多米诺牌。

    令▲ 是这种方法所得到的边集,然后,由G=(X,▲,Y);

    多米诺牌数等于匹配的边数。

    问题三:

    一个公司由n个工作空缺,m个人申请这n项工作。

    一个工作只能满足该工作条件的人填补。
    求最大数目的工作被申请人填补。

    显然人和工作可以构造二分图G(X,▲,Y)。


    这些问题都是突出了二分匹配的两个重要特性:

    1. 二分图!两个集合,集合内部成员没有联系。

    2. 两个集合的边,都是求边的最大条数,所以要深刻思考边的实际意义。


  • 相关阅读:
    谈谈对MapTask任务分配和Shuffle的理解
    Yarn的资源调优
    @section Scripts{}的使用
    数据提高查询速度的方法(摘抄)
    customErrors 元素(ASP.NET 设置架构)
    成员资格、授权和安全性(一)
    MVC5发展历程,从MVC2谈起
    轻量级记事本工具:CintaNotes
    CF459E Pashmak and Graph [dp]
    【模板】拉格朗日插值
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/6777358.html
Copyright © 2020-2023  润新知