重み付き区間スケジューリング
まずは蟻本から
の場合、個の区間から互いに交差しないように選んだときの重みの和の最大値を求める問題(=区間グラフの最大重み安定集合問題, 重み付き区間スケジューリング)
区間グラフの最大安定集合問題
- DPの日本語の式 (1)
- DPの数式 (2)
- DPのグラフ的解釈 (3a, 3b)
- このようなグラフの (4) 問題を解いていると考えることができる。
どの点もK個より多くの区間で覆われない = (4)
このようなグラフにおけるからへの1つの最短路のコストは、の場合のDPで得られた値の符号を反転したものになる。
このグラフで、の重みをつけた辺をパスに含むことが区間を選ぶことに対応する。したがって、この辺の容量を1とし、他の辺の容量を∞としたネットワークを考えれば、その流量のフローは個の集合の重みの和に対応する。よって、最小費用流のアルゴリズムで解くことができる。グラフに負の辺が含まれることより、負の辺に予め目一杯流しておく方式を取る。
解答
1. であるような区間のみを考えた場合の最大の重み
2.
3a. 個の端点に対応する頂点を作る。
3b. からへコスト0の辺をはり、各区間についてかつであるような、に対してからへコストの辺を張る。
4. 最短路問題
5. 互いに交差しないような区間の集合K個に分割できる