(辞書順最小を求める問題)「1文字目をaにしたら解がある?ない?」を繰返し1文字ずつ決める黙ってグラフにしてみよう探索→状態空間がグラフ。グループ分け→最小カット。点グラフ二部グラフではないですか特に二部グラフにならないか注意深く観察しよう。左から右に最大フローを流す。含まれない左点集合から交代路によるBFSをする(奇数ステップではE’以外の辺、偶数ではE’の辺で進む)。うち交代路に含まれた辺では右点、else左点を取ると点カバー。E’の辺は明らかにカバーされる。奇数長交代路があると反転して最大マッチを伸ばせるので交代路は偶数長。構成より左点がマッチングに含まれている。そのマッチング辺が交代路に含まれない→左点がカバーされる。含まれる→今の辺の行き先は交代路の右点。最大マッチProof:つまり最大マッチを計算して、あぶれた頂点それぞれについて一つずつ辺を足す。