zoukankan      html  css  js  c++  java
  • 提高笔记

    整型溢出:信息学竞赛的发展,繁荣与衰退 
     
      二分图最小点覆盖包含的点数等于二分图最大匹配包含的边数。
    证明:
      因为最大匹配是原二分图边集的一个子集,并且所有的边都不相交,所以需要从每条匹配边中选出一个端点。因此,最小点覆盖包含的点数不可能小于最大匹配包含的边数。如果能对任意二分图构造出一组点覆盖,其包含的点数等于最大匹配包含的边数那么定理就能得证。
    构造方法:
    求出二分图最大匹配
      从左部每个非匹配点出发,再执行一次DFS寻找增广路的过程(一定会失败),标记访问过的节点
    取左部未被标记的点、右部被标记的点,就得到了二分图的最小点覆盖
    下面证明该构造的正确性。经过上述构造方法后:
    左部非匹配点一定都被标记--因为它们是出发点
    右部非匹配点一定都没被标记--否则就找到了增广路
      一对匹配点要么都被标记,要么都没被标记--因为在寻找增广路的过程中,左部匹配点只能通过右部到达。
      在构造中,我们取了左部未被标记的点,右部被标记的点。根据上面的讨论可以发现,恰好是每条匹配边取了一个点,所以选出的点数等于最大匹配包含的边数。
    再来讨论这种取法是否覆盖了所有的边:
    匹配边一定被覆盖--因为恰好有一个端点被取走
    不存在连接两个非匹配点的边--否则就有长度为1的增广路了
      连接左部非匹配点i,右部匹配点j的边--因为i是出发点,所以j一定被访问。而我们取了右部所有被标记的点,因此这样的边也被覆盖。
      连接左部匹配点i,右部非匹配点j的边--i一定没有被访问,否则再走到j就找到了增广路。而我们取了左部所有未被标记的点,因此这样的边也被覆盖。 
     

     

    我们可以用sum数组表示序列S的前缀和,那么会得到以下性质.
    s[l~r]有偶数个1,等价于sum[l-1]与sum[r]奇偶性相同 (1+0=1 0+0=0,1是奇数,0是偶数)
    s[l~r]有奇数个1,等价于sum[l-1]与sum[r]奇偶性不同 (1+1=0 0+1=0,1是奇数,0是偶数)
    以下是传递关系细目表
    如果说x1和x2奇偶性质相同,x2与x3奇偶性质相同,那么x1和x3也相同
    如果说x1和x2奇偶性质相同,x2与x3奇偶性质不同,那么x1和x3也不同
    如果说x1和x2奇偶性质不同,x2与x3奇偶性质不同,那么x1和x3就相同 






     








     





     








     












  • 相关阅读:
    MM1排队系统
    java基本概念
    将博客搬至CSDN
    数据库知识点1
    离散分布
    概率论1--基本概念
    一道经典JS题(关于this)
    ajax请求过程中下载文件在火狐下的兼容问题
    熟悉css/css3颜色属性
    打字机游戏Ⅱ之手速pk
  • 原文地址:https://www.cnblogs.com/longxue1991/p/13337402.html
Copyright © 2011-2022 走看看