ネットワークフロー問題[24] [Luogu P2756]パイロットプログラムのペアリングの問題

効果の件名:

もしマッチの数、そのそれぞれの整合接続の2点を得るために、それぞれ、二部グラフを持っています。

本体:

このネットワークフロー問題は、マッチの数は二部グラフマッチングテンプレートですが、我々はまた、それぞれの対応するコネクタの2点を必要と見つけ、考えます。

ネットワーク(からストリーム\(\ texttt Dinic} {\)考える角度)は、Iマッチングエッジを備えものと思います。(あなたに数秒思考時間を与えるために)私たちは、元の右側縁が一致しない見つかっ(\(= 1 \) )、そして唯一の行を変更するかどうかを決定するために、変更されました。

コード:

for (int i = 2; i <= tot; i += 2)
{
    if(e[i].y != s && e[e[i].op].y != s && e[i].y != t
         && e[e[i].op].y != t)
    {
        if(e[i].w == 1)
            printf("%d %d\n", e[i].y, e[e[i].op].y);
    }
}

おすすめ

転載: www.cnblogs.com/GJY-JURUO/p/12207729.html
おすすめ