Arantium Maestum

プログラミング、囲碁、読書の話題

OCaml

AtCoder Beginners SelectionをOCamlで(後編)

OCamlでAtCoderに参加する練習のためにAtCoder Beginners Selectionをやってみた atcoder.jp 今回は最後の2問、白昼夢 / DaydreamとTravellingの解法とOCamlを使った所感。 ABC049C - 白昼夢 / Daydream atcoder.jp ある文字列が、"dream", "erase", "dream…

AtCoder Beginners SelectionをOCamlで(中編)

OCamlでAtCoderに参加する練習のためにAtCoder Beginners Selectionをやってみた atcoder.jp (この記事はSome Sums, Card Game for Two, Kagamimochi, Otoshidamaの4問について) ABC083B - Some Sums atcoder.jp 0~Nまでの数で、各桁の合計がa以上b以下に…

AtCoder Beginners SelectionをOCamlで(前編)

OCamlでAtCoderをやってみたいなーと考えている。 以前DP問題を解いてみたこともあったように、親和性は高いように思う。 具体的には、関数型・命令型どちらでも表現力が高く、実行過程の予想がつきやすく、コンパイルされるので早い、という利点がある。い…

Concepts, Techniques and Models of Computer Programmingを読みはじめた

過去何回かぱらっとめくったくらいで置いておいたConcepts, Techniques and Models of Computer Programmingという本を去年の終わりあたりに少し真面目に読み始めた。 なぜか時々「ポストSICP」と言われる本で、CSの根幹部分の一つを書き表した大作・名著で…

自作言語Xemono

去年の終わり頃からReason MLよろしくOCamlのシンタックスをいじった言語の仕様を考えている。 github.com 今のところ新規性はまったくなく、OCamlと100%互換性がある言語仕様を目指している。(ただし今のところオブジェクト関連の機能についてはまったくノ…

100 Days of Codeをやってみた

ツイッターで100 Days Of Codeというチャレンジがたまに流れていて、面白そうだったのでやってみた。今年も終わりに近づいているので今更ながら振り返ってみる。 100 Days Of Code概要 ルールは簡単: なるべく毎日1時間以上、業務外のコードを書く github…

OCamlでTypical Dynamic Programming Contest E問題を解いてみた

ここ一ヶ月ほどAtCoderをPythonですすめてきて、Pythonの遅さにひやりとすることはあっても基本的にアルゴリズムがあっていて素直な最適化を施していればABCの問題であれば通せそう、という感触を得ている。 しかし少し上の問題を見てみるとそうはいかないよ…