As an aside, the fastest maximum two-part matching problem was this algorithm. (I named the class Dinic, but it’s just for compatibility and has nothing to do with Dinic.) https://twitter.com/tomoyo_py/status/1279485648370462720?s=21
This page is auto-translated from /nishio/最大二部マッチング using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.