zoukankan      html  css  js  c++  java
  • 二分图中的匹配

    问题一(未完):
    考虑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. 两个集合的边,都是求边的最大条数,所以要深刻思考边的实际意义。


  • 相关阅读:
    java学习第六天
    java学习第五天
    java学习第四天
    java学习第三天
    java学习第二天
    java学习第一天
    性能测试学习第十三天_性能测试报告编写
    性能测试学习第十二天_性能分析
    性能测试学习第十一天_Analysis
    性能测试学习第十天_controller
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/6777358.html
Copyright © 2011-2022 走看看