2011-01-01から1年間の記事一覧

パワポに貼る用の数式画像の生成

スライド作成は一時期beamerを使っていたものの面倒になってPowerPointに戻ってきている。Office2007の数式エディタはしょぼいのでdvipngを使う。具体的には次のようなシェルスクリプトとMakefileで複数の数式ファイルを管理。(Officeを2010にする以外にも)…

GCJJ2011予選参加

参加id:LennMars 結果:Aで暗算間違えてLarge突っ込んで時間切れ、合計41点。時間あったのにアホですね…… 感想:これまでGCJにはOCamlで参加していたのだけどこの手のプログラミングコンテストに関してOCaml(特に32bit環境)は余りにもないということに気付…

ant/Scalaのエラーメッセージをflymakeが正しくパースしてくれない問題

具体的には行数のマッチに失敗して1行目しか赤くしてくれない。これでは使えない(そもそもScalaのコンパイル速度が遅くてロクに使えないことは一旦忘れる)。 そもそもflymakeがエラーメッセージのパースに何を使用しているかというと、正規表現をキー、そのs…

DevQuiz2011 スライドパズル

結果:3723問 言語:OCaml ソース:https://github.com/LennMars/DevQuiz2011 方針: 普通のA*(評価関数はマンハッタン距離 + 2 * Linear Conflict) といってもこれで素直に解けるのは4*4の一部までだろう⇒早速完答を諦め、2段階に分けて解くことにする 1段階目…

Caml trading

Y. Minsky and S. Weeks: Caml trading - experiences with functional programming on Wall Street. JFP 18(4):553-564, 2008.著者らが所属するJane Streetは自社資金のみでトレーディングを行う会社であり、設立当初はExcelやVBAを使っていたが2005年頃か…

Big_int.extract_big_intが変

let n = 100 let b = shift_left_big_int unit_big_int n |> pred_big_int (* 111...11 *) let k = 2;; for i = 0 to n - k do let m = (extract_big_int b i k |> int_of_big_int) in if m <> int_exp 2 k - 1 then Printf.printf "%d : %d\n" i m; (* fail…

PFIサマーインターン2011問題の解法の一例

http://research.preferred.jp/2011/07/intern2011_problem/ を分割統治法で解く。 let find_freq x = let open String in let rec aux x len remain = Printf.printf "%s, %d, %c\n" (sub x 0 len) len remain; match len with | 1 -> get x 0 | 0 -> remai…