zoukankan      html  css  js  c++  java
  • [bzoj 1059][ZJOI 2007]矩阵游戏(二分图最大匹配)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1059

    分析:不论如何交换,同一行或同一列的点还是同一行或同一列,如果我们称最后可以排成题目要求的主对角线的n个黑色格子为“有用黑色格子",那么如果在初始状态中有2个黑色格子在同一行或同一列那么它们中间必有一个不是”有用黑色格子“(因为不论如何交换他们总是同一行或同一列,必定不能同时成为主对角线上的有用黑色格子)。所以我们要找的n个”有用黑色格子"它们的横纵坐标都不同。问题就变成了从初始状态中的所有黑色格子中挑出n个黑色格子使得他们的横纵坐标都不同,如果可以就Yes,否则就No。那么很容易想到用二分图匹配处理,左边的点为x坐标,右边的点为y坐标,每个黑色格子对应一条边,然后如果最大匹配数==n,就可以了,否则不行。GG

  • 相关阅读:
    I
    H
    G
    F
    E
    论js里面的for循环
    js常见问题之为什么点击弹出的i总是最后一个
    array类型的方法
    string类型的方法
    for in在对象和数组中的应用
  • 原文地址:https://www.cnblogs.com/wmrv587/p/3885924.html
Copyright © 2011-2022 走看看