noise

計算機科学や各種設定のメモ

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

直線数最適化障害物回避問題

解きたい問題 障害物のある平面において起点と終点を結ぶ経路を探索し直線数を最小化したい。 障害物は線分で与えられる。 経路の長さは目的としない。 この画像は問題の単なる一例であり、障害物は平面上に自由に置けるものとする。 解決手順 適当な細かさ…

VimのViewを自動的に保存/復帰

autocmd BufWinLeave ?* if &buftype == '' | mkview | endif autocmd BufWinEnter ?* if &buftype == '' | silent loadview | endif buftypeを見ることで特殊なバッファ(helpなど)を処理から除外 ファイルパターンに ?* を指定することでファイル名を指定し…

大域最小カット(Global Minimum Cut)

問題 連結無向グラフのカットのうち最小のものを求める。 実装 ソースコード(IdeOne) 解説 乱択アルゴリズムによる実装。 一辺をランダムに選んで縮約していく。 最後に2点残る。これらの点に縮約された点が大域最小カットである可能性は以上。 頂点の数をと…

最近点対問題(Closest Pair of Points)

問題の定義 平面上のn個の点の中からユークリッド距離が最小の点の組み合わせを出力する。 実装 ソースコード(Ideone) 解説 入力をランダムにシャッフルしたのちに逐次添加アルゴリズムを用いる。 アルゴリズムが実行される任意の時点において、一辺の長さの…

PSReadline

PowerShellの初期状態ではBashのように Ctrl+P/Ctrl+Nキーでコマンド履歴を呼び出し PageUp/PageDownでバッファを移動 などを行うことができない。 この問題はPSReadLineモジュールによって解決する。 これでかなり使いやすくなった。 インストール (new-obj…

VLCプレイヤーでの文字化け問題

VLC Playerを使用時にプレイリスト内のタイトル等の曲情報が文字化けする問題があった。 はじめにフォントの設定の問題かと思ったがそうではなかった。 ID3タグ内の情報がShiftJISで保存されていることが原因だった。 とりあえずMP3内のID3v2タグをUnicodeに…

雑感

書店に行って来た。以下、気になった本。 データサイエンス講義 Rachel Schutt 以前から目をつけていたがやはり読む価値はありそう。 流行の機械学習の具体的な理論・応用のやり方を学ぶより先に考えるべきことについて触れられているのが良いと思った。 ま…

PowerShellメモ

rubyのchompメソッドのようなものをPowerShellで $str.Trim() 使用例 "abc`r`ndef`r`n gh" -split "`n" | %{ $_.Trim().Length } 実行結果 3 3 2先頭の空白や\r,\nが削除されている。 部分文字列の取得 $str.Substring($start_pos, $end_ops) 文字列が数値に…

PowerShellメモ

文字列を日時として比較 [DateTime]"2015-04-01" -lt [DateTime]"2015-05-01 12:34:56" Credentialの使い方 $cred = Get-Credential $nc = [System.Net.NetworkCredential]$cred $params = @{user=$nc.UserName; password=$nc.Password} Invoke-WebRequest -…

PowerShellでオブジェクトを文字列化(Serialize)

スクリプト % { $str = " world!"; echo "hello"+$str } | ConvertTo-Xml -as String -Depth 1 実行結果 <Objects> <Object Type="System.Management.Automation.ScriptBlock"> $str = " world!"; echo "hello"+$str </Object> </Objects>スクリプトブロックも変換できている。ScriptBlockはクロージャではないので呼び出し時のバインディングを用…

Vimメモ

今日はエンコード用のスクリプトを操作するためのVimScriptを書いた。 VimScriptはほとんど書いたことないので苦労した。 以下、覚書。

Cmderのフォント設定

結論 Source Han Code JPおよびMyricaを試した。Myrica Mが最も見易かった。 追記 Cmder(ConEmu)でVimを使った際に{}[]が含まれる行の表示がおかしくなったのでConsolasに戻した。 追記 Cmderの設定でExtend fonts(By the cost of background colors you may…

PowerShellで副作用のある処理を行うための補助スクリプト

ファイルの移動、コピー、削除などの処理を安全に行うための関数

PowerShellオブジェクトのプロパティを表示する

@(ls -filter "*.jpg")[0] | gm lsで複数個返ってきたオブジェクトを配列化オペレータで囲む。 オブジェクトパイプラインを通ってきたオブジェクトが一つでも配列となる。(このオペレータ用いない場合はオブジェクトそのものが返る。) Get-Member(gm)コマン…

Randomized Convex Hull

説明 乱択逐次構成法で点列から凸包を求めます。 三角形から始めて順次凸包を大きくしていく。 実行時間はO(nlogn)。

15 Slide Puzzle

コンペ形式 レナとミナミの国際プログラミング選手権 【幼なじみ or 許嫁】国際プログラミング選手権を制したコード7選+α こちらに参加しました。

中央値を求めるアルゴリズム(決定的/乱択的比較)

説明 QuickSelectと呼ばれているO(n)時間アルゴリズムを利用する。

RubyでSQLite3を用いる場合の注意点

問題 WHERE節で文字列比較により特定レコードを取得しようとしたができなかった。 =ではなくLIKEを用いて一時的に対処した。