Loading

网格图

根据 CF 题经典结论,一个网格合法的充要条件是:

  • 黑色格子连通。
  • 每一行每一列黑色格子构成一个区间。

考虑欧拉定理,\(n - m + r = p + 1\) 描述的是 \(n\) 为点数,\(m\) 为边数,\(r\) 为面数,\(p\) 为连通块数。那么当满足第二个条件时,\(r\)\(( x, y)\) 同时与一个格子四个端点都是黑色的这样的个数 \(+ 1\),用 \(p\) 的限制连通块个数,\(n, m\) 限制目前连通块形态,注意到当满足上述两个条件时该式子总是取到最小值,于是使用线段树维护在某个值之前的上述式子的值的区间最小值和其个数,即可做到 \(O(n \log n)\) 的复杂度。

如果没有想到欧拉定理好像也可以用点边容斥做,但是我场上应该是没写出来。

posted @ 2026-01-29 16:15  Alexande  阅读(2)  评论(0)    收藏  举报