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

帰省

金曜日ぐらいまで実家に帰省。

問題追加

あと約8時間で怒涛の3問追加。時間が微妙。起きとくかな〜。どうしようかな、と。

鴨川ホルモー

読みました。またスタバで。いいですね、楠木さん。「鹿男あをによし」の堀田もしかり、作者の好みがなんとなく分かるような。あと高村君もかなりよかったです。この二人のキャラが立っていますね。ストーリー的には「鹿男あをによし」と同じく、日本ファン…

この時期のスタバBGM

クリスマスソングばかりが無限ループで食傷気味。

風邪

かもしれない。とりあえず薬飲んどこう。

後7問

Project Euler完答まで後7問。残ってる問題に対するメモ。 177 Integer angled Quadrilaterals 問題まだ読んでない。どう見ても幾何。いやだなぁ。 195 Inscribed circles of triangles with one angle of 60 degrees これも幾何。方針はなんとなく分かる。…

田代まさし

住んでる寮でやってるお祭りになぜか田代まさしが来てお話してた。興味がないので聞かなかったけど、いったい誰がどうゆうツテで呼んだんだろう。

鹿男あをによし

作者は「鴨川ホルモー」の万城目学。書店で目に付いたので買って、そのままスタバで読み始めたら、結局最後まで読んでしまい、コーヒー一杯で2時間半居座ることになってしまった。万城目学の作品を読むのは初めてだけど、読みやすく、一瞬で物語に入り込ん…

ネクタイ

いつまでたってもうまく結べない、と。いざ出陣。

現実逃避中

最近こればっか。やればやるほど勉強することqueueが溜まってきた。以下メモ用。 連分数とペル方程式、best rational approximation(p192, p198あたりのため) マルコフ連鎖(p213 Flea Circus。解いたけどゴリ押しくさい) RSA Circle Packing, Torricelli…

寒い

今日の京都は寒すぎる。土日の夜は風呂掃除のバイト入ってるんだけど(風呂もただで入れる)、帰るころには髪の芯まで冷えてるな。

ハル研究所プログラミングコンテスト2008

去年やっておもろかったんで、今年もやろうかと。去年のお題はクロスワードパズルだった。今年はどうやらAIプログラミングっぽい。どうも厳密解が出ない問題は苦手だ。SPOJのOpen Contest 2008もイマイチだったし。コード組み始める前に勉強が必要のようだ。…

Level. 5

200問解いたらレベル5になった。あと十数問。やっかいな問題ばっかり。特に幾何が苦手だ。幾何の良本が欲しいところ。

遊び中

最近またProject Eulerで遊び中。前はPythonを中心に使って解いてたけど、今はScheme(Gauche)を中心に使ってる。数ヶ月ぶりに遊んでるけど、Levelというものが追加されていた。解いた問題数に応じてLevelが1から5までつけられる。他に変わったことと言えば…

193. Squarefree Numbers (2)

続き。包除原理を使って数える。√Nまでの素数を 二乗したものを p1,p2,.. ,pmとすると、 N - (N/p1+N/p2+...+N/pm) + (N/p1p2+N/p1p3+...+N/pm-1pm) - (N/p1p2p3+... で、求める値が求まる(除算は整数除算(切り下げ))。組み合わせは 2^m 通りあるが(そして2…

193. Squarefree Numbers

久しぶりにProjectEulerをやる。ProjectEulerはオンラインジャッジシステムで、数論の問題が中心となっている。UVa,PKUなどと異なりソースコードを送るのでなく、答えのみ送る。計算はローカルでやるのでマシンパワーがあれば有利だけど、1分ルールというの…

スターバックス

行きつけのスタバが6周年らしい。常連と認識してくれてるらしく、スタッフから、いつも来てくれてありがとう、という旨の手紙をもらった。こちらこそコーヒー一杯でいつも(本やPC持ち出して)長居しちゃって申し訳ないです。2、3回生のころから使ってるか…

はてなアルバイトに応募

志望動機。どう書けばいいのだろうか。昔からこういうのを書くのがすごく苦手だ。大学のレポートでもA41枚以上書けた記憶がない。文章能力が著しく低いのである。けどそうも言ってられないな。頑張って書いてみよう。要項に"特に「なぜはてなで働きたいか。…

2659. Carl

https://www.spoj.pl/problems/CARL/ またまたゴルフ。今回は言語の制限がなかったので、Schemeでやってみた。というか、入力がS式なのでScheme,Lispならreadするだけで読めるのでパーズ部分がいらない。以下コード。 (use-modules (ice-9 format)) (do ((v …

素数ストリーム

久しぶりにProjectEuler。Schemeで解こう。100万以下ぐらいまでの素数列が必要になったので、素数ストリームを生成する関数を書いた。昔SICPで読んだのを思い出しながら。 (use util.stream) (define (prime-stream) (define (sieve s) (let ((v (stream-car…

はてな講演 (2)

はてなの講演行ってきた。質疑応答合わせて一時間半程。近藤社長自らが講演。技術的な事には触れず、起業や新しいウェブサービスを起こして得られた知見を語ってくれた。質疑応答では、質問が相次ぎ20分以上続いた。曖昧な質問に対しても瞬時に理解して、…

はてな講演

はてな社長が今日学校で講演するらしい。行ってみよう。

麻雀

最近やり過ぎ。自重しないと。それにしても麻雀は楽し〜な。

アルバイト

アルバイトを探し中。京都で、プログラマで、週3、4回入れるようなの。就活に失敗して、もう一年大学に居そうなので、勉強がてら、経験がてら、お金を稼がないと。

MechanizeでUVaコマンド

UVaで二年以上遊んでるけど、何でもっと早く作らなかったのだろうか。ソースコードは送るコマンド。RubyのMechanizeを使ったら一瞬でした。便利ですね、Mechanize。スクリプトから使う簡易ブラウザって感じ。どうやらPerlのMechanizeが元祖で、RubyやPython…

3099. Super Quine

Challenge問題。入力は-10から10の間の整数で、その整数回ぶんだけ自分自身のソースコードを出力する。負の場合は逆順で出力。評価はゴルフ*1。言語はC C99 strict C++ PAS gpc PAS fpc JAVA C#に制限されてる。 一回だけ自己印刷するようなプログラムなら以…

370. Ones and zeros

数論の問題。簡単なボトムアップDP(BFS)で解ける。計算量O(n)。Pythonで書いた。 def solve(n): tbl=[False]*n q=Queue.Queue() q.put(1) tbl[1]=True while not q.empty(): val=q.get() for d in (0,1): v=val*10+d m=v%n if not tbl[m]: if m==0: return v…

2852. Broken Keyboard (2)

C++で書き直した。尺取虫だけど、頭は1づつ進んで、尻尾が頭に引きずられる形だと微妙に遅いのね。頭と尻尾を交互に進めるのがいいかも。 int solve(int m,char *text) { vector<int> tbl(256,0); int i,j,mv=0; for (i=j=0;text[i];++i) { char c=text[i]; if (</int>…

2852. Broken Keyboard

尺取虫法でO(m),(m:文字列の長さ)。Pythonで書いてみた。以下アルゴリズム部分だけ。 def solve(m,text): tbl=[0]*256 mv=v=i=0 for c in text: c=ord(c) if tbl[c]==0 and m==0: while m==0: tbl[ord(text[i])]-=1 if tbl[ord(text[i])]==0: m+=1 i+=1 v-=1…

2826. Round-Robin Scheduling

効率良く解くには転置数を求める。計算量 O(nlgn)。C++で書いた。最近Ruby, Scheme を勉強してるので、そちらで書こうかなと思ったが、Rubyで書いてもC++と一緒になっちゃうし、SchemeだとTLEになりそうなのでやめた。TopCoder で出た問題らしい。