説明 グラフの全ての辺を少なくとも一度通る単純とは限らない閉路の中で,最短のものを求める問題を中国人配達問題という.グラフがオイラー閉路を持つならばそれが答えとなる.そうではない場合はグラフにできるだけ短い辺を追加してオイラーとなるようにする(オイラー補完). 無向グラフがオイラー閉路を持つための必要十分条件は,奇点が無いことだった.そこで,グラフの奇点の間の最短経路長を長さとするような完全グラフを作る.この上で最小重みマッチングを求め,得られたマッチングに対応する最短経路をもとのグラフに付け足せば,最小オイラー補完となる. 一般グラフの最小重みマッチングは理論的には多項式時間で解けるが,決して簡単ではないため,ここでは動的計画法に基づく単純なアルゴリズムを示す. 計算量 O(o m log n + o^2 2^o).-O2 をかけて o ≦ 18 程度が限界. 使い方 始点と終点を特定し