zoukankan      html  css  js  c++  java
  • 二分图的最大独立集

    今天是开通博客的第一天  ,现在参加牛客暑假多校训练赛, 恰好在补网络流二分图的题,就顺便把比赛这道题搬出来了

    提示(本题需要的前序知识 ,网络流算法 ,二分图匹配,最大匹配 ,最小边覆盖,最大独立集 ,最小点覆盖)

     题意翻译过来是这样  

    给你一个集合 { a1,a2,a3……an}

       给你一个n 代表集合的内元素的数量

    将每个元素转化为二进制表示,问有多少个元素至少有两个二进制位是不同的   (求出这些元素组成的最大集合)  (集合内两两元素都满足这个条件)

    首先  {至少有两个二进制位不同}的反命题为 {只有一个二进制位相同}

    所以我们建立一个图 

    点:{a1,a2, ……an}

    边: 若点a与点b只有一个二进制不同,则连边。 

    接下来证明连出来的图是一个二分图  

     首先 有一条路径   从a指向b  中间经过多个点 

    a->x1->x2->-x3->……->xn->b;

    a与x1有一位不同 x1与x2有一位不同 

    (因为所有的值  都是 distinct) 所以 a与x2有两位不同  

    所以  a与xn有n位不同  

    所以  在一条路径中  第t和t+2个点 一定没有连边  证毕

    经过上述思考  我们建图 答案为这个图的最大独立集

    并且跑一遍二分图算法求出最大匹配    

    |最大独立集|=总点数-|最大匹配|   (因为在二分图中,|最大匹配|=|最小点覆盖|)

    我的QQ 642325110 有指正的地方可以告诉我

    至于这些前序知识 大家可以查阅资料  或者我有空会补上这些知识的介绍

  • 相关阅读:
    mysql触发器的实战经验
    mysql存储程序查看
    索引性能优化(待整理)
    MySQL性能测试工具
    列级触发器 SQL Server
    synthetic division
    This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
    mysql触发器和定时器
    数据库触发器有以下的作用
    mysql 日志
  • 原文地址:https://www.cnblogs.com/acmLLF/p/11297377.html
Copyright © 2011-2022 走看看