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

メタメタ

メタプログラミングとは何か? という話が最近身近で話題になった. 大体, プログラミングの上に載っている高次の何かっぽいことである気がする. その時の結論としては, 自己言及的なプログラミングという話になったが, それはオートプログラミングとでも呼ぶ…

申し込みトレンド

某コンテストの申し込みを何日前に済ませるかをグラフにしてみるとこのようになります。縦軸は日(対数)です。 だいたい早めに申し込む勢と最終日に駆け込む勢は 7 : 3 で、駆け込み勢は多少の開始日の違いに影響されない様子が見て取れて興味深いですね。 以…

Algorithm Short Course 「探索」

これは2008年11月頃に某所で内輪向けに発行した冊子に掲載したものを転載したものです。

集約される式と展開される式

普通の式は関数からなる. 関数は複数の引数を取り, 1 個の返り値に集約する. しかし, 逆があってもいいのではないか. すなわち, ただ 1 個の種を取り, 複数の返り値に展開していくのである. 一見普通の式であるが, 引数のように見えるところは返り値を渡す先…

多倍長整数の符号化としての UTF-8

UTF-8 は Unicode で使われる 0 から 0x10FFFF までの正の整数を 1 ~ 4 byte の符号で表現する可変長の符号化方式である. その気になれば, 無限に大きい正の数を表現できるように拡張することもできる. 多倍長整数の符号化方式として捉えたときにどうなるか…

学会タイマー

学会タイマーの実装方法は2種類ある. 1秒待って経過時間を加算して画面を更新するということを繰り返す 経過時間の更新と画面の更新は特に同期せず, 適宜開始時刻から引き算する ちょっと考えればわかるが, 1 の方法はアウトである. 更新にかかる時間の分だ…

ゆる募

【緩募】各種中間言語用VMの性能比較 (オーバーヘッドの大きさ、あるいは JIT の賢さ、SIMD系命令への対応など) ってどこかにありませんか?— えおもると寝坊と昼夜逆転さん (@eomole) 2013年5月10日

wakaba の系譜

Java の配列の長さ

問 Java の配列は 231-1 より長いものを作れないというのは、知られていないが案外深刻な問題である。こんなに要素が多いものは作らないと思うかもしれないが、内部で配列を使っているものは少なくない。 String のような文字列、 ArrayList あるいは HashMa…

GW

GCJ (Google Code Jam) Week です。連休中は Round 1 があります。頑張りましょう。 http://code.google.com/codejam/

2分探索したいけれど上限が見積もれないとき

問 2分探索は答えを確実に含むような十分広い区間から初めて、区間を半分にしていくことにより、対数時間で答えの存在範囲を絞り込む方法である。整数値であれば、区間が1になるまで続けることで誤差なしで求めることもできる。しかし、このままでは初期区間…

文字システムについてつぶやいた話

世界の文字: ラテン・キリル・ギリシア・グルジア・アルメニア > おおよそ1音素1文字— もるたるさん (@eomole) 2013年4月20日 アフロアジア系諸文字 > 子音だけ。不便じゃない?と思うかもしれないけど言語の特徴により送り仮名を省略する程度のような感覚っ…

Calling Brainf*ck

Brainf*ck のループが常々鬱陶しいと思っていたので [, ] を置き換えてみた. 記号 値 実行内容 @ 0 何もせず次へ進む. 0 以外 i 番目の @ ならば i 番目の ^ の直後にジャンプする. ^ 0 i 番目の ^ ならば i-1 番目の @ の直後にジャンプする. 0 以外 i 番目…

hello world

Hatena Blog に移ってみた。インポート機能があって記事は全部移せたのでよかった。

今年の抱負

抱負を手に入れる。。(再)