メモがてら書きます.
問題はこちら
問題概要
長さ解説
複数の選択間にコストがある+制約的にProject Selection Problemっぽい.Project Selection Problemは最小カット(最大流)で解ける.以下のグラフで頂点をS or Tに分割するカットを考える.

これは

しかし,以下のようなカットも可能になってしまうので

以下のようにコスト

これでコストのグラフ表現はできたのでコスト
のグラフ表現を考える.
間のコストが以下の表のようになっているとする(
).実は,この表がMonge性を満たしていればグラフ表現可能.今回の関数
がMonge性を満たすことはすぐに分かる.

これらの操作はMonge性を満たす行列に適用してもMonge性は保存される.基本操作
行目の各要素から
を引く.この操作は
を選んだときのコスト
に
を加えることに対応する.
列目の各要素から
を引く.この操作は
を選んだときのコスト
に
を加えることに対応する.
成分
に
を加える.この操作は
の選択を表す
番目の頂点から
の選択を表す
番目の頂点にコスト
の辺を張ることに対応する.
具体的にグラフを構築していく.



3つ目の"基本操作"は累積和のようになっているので累積和の逆をして各成分に加える値を計算する.3つ目の"基本操作"に

が負になることがあるが,
を
から引けばいい.ただし最終的な答えに
を足す必要がある.
Project Selection Problem(燃やす埋める問題)に関する基礎知識は以下の記事を参考にしてください.
kanpurin.hatenablog.com