zoukankan      html  css  js  c++  java
  • 「codeforces


    description

    给定 (n imes m) 的网格图,有些格子有障碍,无障碍且相邻的格子之间连边形成图。保证 ((1, 1)) 无障碍,保证无障碍格子连通。

    将网格图黑白染色,相邻格子颜色不同,((1,1)) 为黑色。

    构造一棵生成树,使得以 ((1,1)) 为根时,所有叶子都为白色。注意:即使 ((1,1)) 度数为 (1),也不能视为叶子

    problem link。


    solution

    拟阵交。

    注意到黑白染色后,每条边最多属于一个黑点,因此可以构造边拟阵 (I_1) 表示删除独立集 (P) 的边后,剩下的黑点相邻的边数 (geq 2)(注意反过来加边不能构成拟阵,删边才可以)。这里需要特判初始时黑点度数是否 (geq 2)

    另一个拟阵 (I_2) 就可以套路地构造成图拟阵的对偶拟阵即可。求出最大拟阵交,检验是否为生成树。

    至于怎么求拟阵交,可以参考 2018 年集训队论文《浅谈拟阵的一些拓展及其应用 —— 江苏省淮阴中学 杨乾澜》。


    submission

    An accepted submission.


    details

    放两个参考资料,这里有一份题单这里有一份简单的拟阵 & 拟阵交算法介绍

    简单写个拟阵交算法的流程(当然,没有证明):类似于二分图匹配,构造 (X) 部表示已在拟阵交的,(Y) 部表示未在拟阵交的。

    对于所有 (uin Y),当 (Xcup uin I_1),建边 ((s, u));当 (Xcup u in I_2),建边 ((u, t))

    对于所有 (uin Y,vin X),当 ((Xsetminus v)cup u in I_1),建边 ((v,u));当 ((X setminus v)cup uin I_2),建边 ((u,v))

    那么一条 (s o t)最短增广路翻转后,总可以得到更大的拟阵交。

    如果带权,则给 (X) 部的点权 (-v),给 (Y) 部的点权 (v),跑以点权和最大为第一关键字,以边数最少为第二关键字找 (s o t) 的增广路。如果直接跑 spfa(bellman) 则一定是边数最少。

  • 相关阅读:
    谷歌火狐浏览器限制的端口
    Web Api 内部数据思考 和 利用http缓存优化 Api
    Web Api 端点设计 与 Oauth
    FI-FBV0
    Others-SAP hybris 介绍
    ABAP-表修改日志存储
    TR-银行通信相关文档
    ABAP-Eclipse ADT中创建ABAP CDS视图
    TR-业务流程图
    FPM-OVP增强实例-银行账户
  • 原文地址:https://www.cnblogs.com/Tiw-Air-OAO/p/13629654.html
Copyright © 2011-2022 走看看