2010-10-01から1ヶ月間の記事一覧

部分ビット列を列挙

1011001というようなmaskが与えられた時に、1001000だとかmaskに含まれるビット列(0を除く)を列挙する方法。 私は for ( int m = 1; m とやってたけど、 for ( int m = mask; m > 0; m = ( m - 1 ) & mask ) とやれば全く無駄がないことを知った。

メジャーリーグの数理科学

メジャーリーグの数理科学、上下巻を図書館で借りてきて斜め読みした。 自分のような数字好きにとってはいろいろ面白い統計が載っていて楽しめた。以下一部抜粋。 1.最小2乗法による得点への貢献率(1954-99年データより) 単打:0.52、二塁打:0.66、三塁…

美しすぎるプログラム

前に私が書いたプログラムです。 これはある問題に対する解答なんですが、ネタ狙いじゃなくて真面目に考えてこのコードに辿りつきました。 視覚的にこれ以上美しいプログラムはそうそうないんではないかと自負していますがいかがでしょう。 メイン部分はなん…

清水 - あから戦 展望

いよいよ間近に迫った清水 - あから戦。 清水さんの得意戦法と言えば相掛かりとか右四間とかのイメージ。 正直言ってコンピュータ相手にぶつけたら相当やばそう。 私の希望としては徹底的に勝ちに行く将棋が見たい。自分のいつもの戦い方で正々堂々とかじゃ…