アルゴリズム

概要

  • アルゴリズムを構築するアルゴリズムとして
    1. ランダムなアルゴリズムを考える
    2. 矛盾しないかを実験する。矛盾しなければ終了する。
    3. (1)に戻る。
  • を走らせているのがマズそう

数学的帰納法的思考

  • プログラミングは全て数学的帰納法
  • [0, i)の転倒数がわかってるとするじゃん?からスタートすると一瞬で正しいアルゴリズムを演繹できる

証明

証明の練習問題

  • 証明の訓練をするしか無い
  • Topcoder SRM 697 D1E
    • &ref(): File not found: "IMG_0596.JPG" at page "アルゴリズムの構築法";
    • 全てのf_iが真となるようなa_iは存在するか
    • 1<=b_i<=10
    • これに対して、http://hamayanhamayan.hatenablog.jp/entry/2016/08/19/112400 みたいな、謎貪欲解がある(chokudaiさん、kmjpさん解法)。これが正しく動くことを示せ。
  • ARC 53C
    • 上がって下がってする奴
    • あの貪欲の構成は面白かった気がする
  • AGC 03B
  • AGC29 B
    • 辺eをマッチングに使わないのならば、辺eを取ることでマッチング数を1あげることができる
    • 次数>1を使うとすると、次数>1を使う他のマッチングe=(次数>1, v)があるが、マッチングとして使えなくなる朝展が次数>1, 次数=1, vの三点となってしまい、真に悪くなる
    • 任意の頂点uについて、u-v とマッチするよりも良いマッチングの仕方があるとしたら、 a-u v-b みたいになってるはずで、対偶?を考えると、uがどれともマッチしない場合よりも何かとマッチしたほうが良い。
      • u-v とマッチするよりも良いマッチングの仕方Xがあるとします。Xにおいてuもvも使わないなら、u-v使ったほうがよいです。Xにおいて u使わない & v-b よりも u-v, bフリー のほうが良いです。Xにおいて v使わない & a-u のときも同じです。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS