image 記法を整理して色々な問題のフローを描いてみる

各論

  • ABC004D D - マーブル
    • image

    • 3箇所に石がXi個置かれている

    • これを不特定個のマスに最大1個ずつ割り振る

      • 問題条件としては無限個だが、現実的にはXiの和くらいの数で十分
    • コストCijは置かれてる場所から目的地への距離

  • PAST3O
    • image

      • image
    • 3回のラウンドで、それぞれM個のものをN個の場所に割り当てる

    • この時、報酬Rijが得られる

    • ただし最終的に場所jに何個割り当てられていたかkによってコストDjkが掛かる

    • このコストは累進である

    • なのでCjk=Djk-Dj(k-1)を使って表現できる

      • 安い方から選ばれるので
    • コストが流量に比例しない最小費用流

    • 累進コストを差で表現

  • ACLPC E
    • image
    • 同じ列には最大K個まで
    • =N個の場所から最大K個選ぶ
      • ちょうどK個ではないのが重要
      • 脇道を作ることで選ばない選択を認める
    • 二次元のマス目は二部グラフ
      • マス目が二部グラフの辺に対応する
  • F - 3人の騎士と1匹の犬
    • Maximum-Cup 2013: F - 3人の騎士と1匹の犬 - kmjp’s blog
    • image
    • 得られる報酬が最大のもののうちコストが最小なものを選ぶ
    • 選択肢はM、選ばれる個数L=min(N, M)
    • 報酬は辺に乗せるのではなくグラフの構築に使う
      • 報酬Rjの大きい順にソートし、L番目と同点のB個から、それより点の高い確定で選ぶ個数をAとして、残りのL-A個を選ぶ
  • No.1301 Strange Graph Shortest Path - yukicoder
    • 無向グラフ
    • 頂点1からNに行って1に戻る最短経路
    • 同じ辺を2回通れる
      • 1回目のコストci、2回目のコストdi、di>=ci
    • image
    • 流量2を流す
    • なぜこれでいいのか
    • image
    • 辺を1回だけ通ってる場合には、逆方向にも同じコストで通れる
    • 2回通ってる時には逆辺が消えてるのでコストdになる
    • 流量2を通してコストを2で割れば求めたいものが求まる 関連
  • 最小費用流
  • 最大流に帰着
  • グラフの最短経路問題に帰着するのも仲間かもしれない