タグ

はてダとTopCoderに関するwkmyのブックマーク (3)

  • 似非学問的な手記

    Haskellには、C++で言う所のpriority_queueにあたるモジュールがないので、Codeforcesでこれが必要な問題は解けないという問題を抱えていた(幸い、これまで自分が出てきたコンテストでそういう問題には当たらなかった、はずです)ので、自前で実装してみました。 実装したのは 型 Heap a a型の変数を持つヒープ 関数 関数名 型 機能 make_heap (a -> a -> Bool) -> [a] -> Int -> Heap a 順序付けする関数(後述)と要素のリスト、ヒープの最大サイズを受け取ってヒープを構築 pop_heap Heap a -> Maybe (a, Heap a) 最大(最小)値を取り出す。ヒープが空の時はNothingを返す push_heap Heap a -> a -> Heap a ヒープに要素を挿入 です。他にも細々とした補助関数は

    似非学問的な手記
  • Div.1Easy猫 - 夢追い人

    MagicalSource やるだけ class MagicalSource { public: long long calculate( long long x ) { ll res = x; ll n = 0; for (int i=0; i<=12; i++) { n += (ll)pow(10, (double)i); if (x % n == 0) { res = x / n; } } return res; } }; ColorfulRabbits やるだけ class ColorfulRabbits { public: int getMinimum( vector <int> replies ) { int res = 0; sort(replies.begin(), replies.end()); for (int i=0; i<replies.size(); i++) {

    Div.1Easy猫 - 夢追い人
  • komiyamの日記

    Competitive Programming Advent Calendar 2014の記事です。 自分はかつてTopCoder Marathon Matchに参加していた時期があったのですが、今回はその感想を書きます。 続きを読む Competitive Programming Advent Calendar Div2013の12月2日の分です。 ときどき脱線しながらも主にsegment treeの再帰展開について書こうと思います。 はじめに segment treeの資料といえば蟻やiwiさんのスライドが非常に分かりやすくお勧めです(定番中の定番ですね)。この資料で使われている図をイメージしながら読んでください。同じくiwiさんの平衡二分探索木のスライドもぜひ目を通しておきましょう。 これら以外にもsegment treeについてまとめたブログ記事などは検索すれば色々引っかかります

    komiyamの日記
  • 1