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

なんかいろいろエンコード/デコードする operator を提供するプラグイン

Vim

~/.vim/plugin とかに入れて,例えば nmap <Leader>eu <Plug>encodeURIComponent vmap <Leader>eu <Plug>encodeURIComponent nmap <Leader>du <Plug>decodeURIComponent vmap <Leader>du <Plug>decodeURIComponent nmap <Leader>ej <Plug>encodeJSString vmap <Leader>ej <Plug>encodeJSString nmap <Leader>dj <Plug>decodeJSString …</plug></leader></plug></leader></plug></leader></plug></leader></plug></leader></plug></leader></plug></leader>

関数の arity を調べる関数

IncoherentInstances よくわかりません {-# LANGUAGE MultiParamTypeClasses , FunctionalDependencies , TypeFamilies , FlexibleInstances , ScopedTypeVariables , EmptyDataDecls , UndecidableInstances , IncoherentInstances #-} data Z data S a cla…

YouTube の動画をダウンロード

まぁ http://userscripts.org/scripts/show/25105 の Vimperator コマンド版のようなものです. let g:yt_save_dir = '~/Downloads' などと設定しておいくと,:ytdownload でそのディレクトリに今開いている動画を保存できる. オプションとして -fmt (省略…

:bmark が遅い

今まではこのように毎回 bmark するようにしていた. silent bmark -title='Google' -tags=vimp -keyword=gs http://www.google.com/search?q=%s silent bmark -title='Google Images' -tags=vimp -keyword=gi http://images.google.com/images?q=%s silent …

今現在自分が利用しているプラグイン

Vim

頻度別にまとめ+ちょっと紹介. 頻繁に使っているもの FuzzyFinder http://www.vim.org/scripts/script.php?script_id=1984 あいまいにバッファ,ファイル等を検索して,それを現在のバッファに開いたり新しいタブに開いたりできるプラグイン. Vim をずっと…

3255 -- Roadblocks

POJ

http://acm.pku.edu.cn/JudgeOnline/problem?id=3255 重み付きグラフが与えられて,2番目にコストが小さい経路のコストを出力する問題. 1番コストが小さいものなら普通のダイクストラ法でいいのだが,今回は2番目なので各頂点に対して2番目までのコストを覚…

subscldr.js をちょっといじった

フィードが見つからなかったときに Page2Feed のプレビューに遷移するようにしてみた subscldr.js の特徴である「ページ遷移なしで」を破るものなので微妙. しかしプレビューを見ずに Page2Feed で登録するはもっと微妙だと思ったのでこうした. diff --git…

関数内で関数を定義する

C++

つまりはクロージャが欲しい. C言語の場合は GCC 拡張でこれを実現できる. http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html #include <stdio.h> int main(void) { int x = 0; void f(void) { x++; } f(); printf("%d\n", x); return 0; } C++ の場合は C+</stdio.h>…

3615 -- Cow Hurdles

POJ

http://acm.pku.edu.cn/JudgeOnline/problem?id=3615 N 個の駅があり,M 本の一方通行の道が繋いでいて,それぞれの道には高さ H_i のハードルがあるとする. 駅 A_i から駅 B_i まで行くとき,途中で越えなければならないハードルの最大の高さの最小値を出…

昨日のプラグインの修正

微妙に間違っていたので修正. それとはてなに書くには若干大きいと思ったので gist にコードを移した. http://gist.github.com/320402 bookmark_user にもコマンド用意したほうがいいかな…

pixiv で楽にブックマークするためのプラグイン書いた

これを入れると liberator.plugins.pixiv に bookmark_illust, bookmark_user が追加され,pixivBookmark コマンドが定義されます. :pixivBookmark は引数をタグと解釈して,今開いているイラストをブックマークに追加するコマンド.bookmark_illust のほう…

2591 -- Set Definition

POJ

http://acm.pku.edu.cn/JudgeOnline/problem?id=2591 次のように定められた集合 S の N 番目(昇順)の要素を出力する問題. 1 は S の要素である x が S の要素ならば,2x + 1 と 3x + 1 も S の要素である その他は S の要素でない N の上限が 10000000 なの…

3014 -- Cake Pieces and Plates

POJ

http://acm.pku.edu.cn/JudgeOnline/problem?id=3014 整数 n, m (1 ≦ n, m ≦ 4500) が与えられて,m を n 個の整数の和に何通りに分割できるか答える問題. ただし答えは非常に大きくなりうるので,答えを 1000000007 で割った余りを出力する. DP で解いた…

よくわからない Map

なんかふと思いついたので書いてみた. http://gist.github.com/306554 insert, delete, lookup はできるけど,空間計算量も時間計算量も悪い上に key, value の列挙もできない Map のような何か.

C++ にも on が欲しい

C++

Haskell には Data.Function に on という関数が用意されている. http://haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/Data-Function.html#v:on 関数 f, g から \x y -> f (g x) (g y) という関数を作る関数だ. これが地味に便利な場面があり…

Vim で POJ やりやすくする poj.vim を書いた

Vim

http://d.hatena.ne.jp/smly/20090719/1247974225 とりあえずはこれと同様のものを Vim script で書いた.http://github.com/eagletmt/poj-vim適当なディレクトリに置いて runtimepath を通して使ってください. .vimrc の設定例 set runtimepath+=~/.vim/po…

ふつうの純粋な型レベルプログラミング in Haskell

とりあえず fundeps で自然数編.続きはあるんですか? まず,おまじないとして {-# LANGUAGE FunctionalDependencies, MultiParamTypeClasses, UndecidableInstances, FlexibleInstances, EmptyDataDecls, ScopedTypeVariables #-} あたりが要る. 自然数の…

型レベル関数の inverse

元ネタ http://twitter.com/keigoi/status/7828062396 http://okmij.org/ftp/Haskell/PeanoArithm.lhs ようするにこの Inv は何をやっているのかというと,init から limit まで x をイテレートして,x と a に関数 clas を適用したの値と b が等しくなるよ…

Haskell で文字列処理

http://d.hatena.ne.jp/sakura-1/20100113 このへん見てたしかにこういうのがあると役立つなぁと思ったので. まず始めに,Haskell で文字列を扱う場合は主に String を使い,これは Char のリストになっている. もっと効率的に文字列を扱いたい場合には By…

modifySTRef year (+1)

あけましておめでとうございます. 2009年は Twitter と Haskell にかなりはまった年でした. 今年はまずはアルゴリズムやもっと基礎的な数学の勉強とかを進めていけたらなぁと思います.