zoukankan      html  css  js  c++  java
  • CF1444C TeamBuilding

    考虑我们判定二分图染色的经典算法:
    染色。

    我们把所有不同颜色块之间的边都保存下来。
    只在图中保留相同颜块之间的边,并对其染色。

    我们考虑记\(g_i\)为一个点的所在联通块编号,\(f_i\)为他在染色时被染的颜色。
    我们只考虑所有有不同颜色块连边的颜色块并计算那对颜色块是否有可能成为二分图。

    我们考虑所有在颜色\((u,v)\)的边。
    如果两边的端点的\(f_i\)相同,则在新图中创建一个新点,并和两端点在的联通块连边。
    否则直接把联通块连边。

    然后对新图进行二分图染色判断,如果染色无冲突则可以。

    复杂度\(O(n + m log m)\)

  • 相关阅读:
    bootstrap
    jQuery快速入门
    前端jQuery
    前端BOM和DOM
    前端js
    前端css
    前端知识之HTML内容
    线程池
    线程
    LightOJ
  • 原文地址:https://www.cnblogs.com/dixiao/p/15128276.html
Copyright © 2011-2022 走看看