*iroi*

mechairoi の Blog

はてブ絶対復習

全自動ブックマーク棚卸しが想像以上に有意義な件 - てっく煮ブログとを合体させてみた. → Pipes: はてブ絶対復習 使い方は全自動棚卸しとほとんど同じで, 絶対復習したいページをサブアカにブクマしてRSSリーダーとかで復習.利点は 棚卸しと同じようにRSSの…

Gaucheのreplとmodule

gaucheでreplを使おうと思って色々試してたんだけど、 replを開いたときのモジュールがどう決まるのかよくわからん。 特に問題ないんだけど気になる。 (select-module user) (print (current-module)) (read-eval-print-loop) (print) (print "-------------…

Maximum flow (Dinic)

ゼミでやったので, 今更だけど最大フローを実装してみる. O(n^2m)になってるはずだけど長い.. #!/usr/bin/env perl use strict; use warnings; #use Carp::Assert; use Data::Dumper; package Edge; sub new { my ($class, $source, $target, $weight) = @_;…

Re: Re: emacsの*scrach*もどきをvimとgaucheで. - mechairoiの日記

アドバイスを頂いたので他のプラグインを見つつちょっと修正. Gauche interfaceを教えて貰ったのでコンパイル. Vim scriptが楽しく書けそうなので使ってみます. 感謝.

Problem64

use warnings; use strict; my $ans=0; for(1..10000) { $ans++ if (f($_) % 2 == 1); } print $ans; sub f { my $N = shift; return rec($N, 1, - int(sqrt($N)), 1, {}); } sub rec { no warnings 'recursion'; my ($N, $k, $l, $m, $ht) = @_; my $n_m = …

emacsの*scratch*もどきをvimとgaucheで.

gauche_scratch.vim 初vimscript! *scratch*みたくバッファ上で式を評価します.vimのコンパイルオプションに+pyhtonが必要. Linuxでしか試してないです. 使い方 gauche_scratch.vimとgauche_scratch.pyを http://github.com/mechairoi/gauche_scratch/tree/m…

Project Euler Problem62

借りてきたラクダ本に力をわけてもらった. まだ1章だけど. リストコンテキストはちょっと楽しい. #!/usr/bin/env perl use strict; use warnings; my (%count, %min); for(my $i=1;;$i++) { my $cube = $i**3; my $key = join '', sort $cube =~ /./go; $min…

Perlでパーサーコンビネータもどき

HaskellのMonadをJavaScriptで実装するとしたら - ラシウラ を参考にほとんど写経. #!/usr/bin/env perl use strict; use warnings; sub parse { my ($parser, $input) = @_; return $parser->({ result => [], source => $input, index => 0, }); } sub bin…

スターがついてる

こんなに嬉しいとは思わなかった.

Project Euler Problem61

Perlの練習ということで #!/usr/bin/perl use strict; use warnings; my @paths; $paths[$_] = [] for(0..99); push(@{$paths[target($_)]}, [{8 => 1}, [source($_), target($_)]]) for (polygonals(8)); for(3..7) { my @prev = @paths; $paths[$_] = [] f…

はてなインターンにいきたいので

日記を書く.