Loading

正则二分图构造完美匹配

https://qoj.ac/problem/265

具体流程如下:

  1. 随机找一个左部未匹配点 \(x\)
  2. 随机找到一个右部没有与 \(x\) 匹配的点 \(v\)
  3. \(x\) 跳到 \(v\) 的匹配左部点。
  4. 如果 \(x\) 第一次出现,则不管,否则维护一个路径序列,删掉中间的环。
  5. 最后类似匈牙利算法一样依次更改路径上每个右部点的匹配点。

可以证明,该算法在过程中期望下复杂度是 \(O(n \ln n)\) 的,与边数并无关系。

注意如果 \(d = 2^k\) 则可以用确定性的欧拉回路解决该问题,但是感觉不如这个牛。

posted @ 2025-07-03 17:15  Alexande  阅读(65)  评论(0)    收藏  举报