Arantium Maestum

プログラミング、囲碁、読書の話題

2018-03-11から1日間の記事一覧

本日のvim道 2018.3.11

vim

Visual modeでo 三種のVisual modeのどれにいる場合でも、oを打つと今いるのと反対側の選択範囲の端を変更することができる。選択範囲の開始地点が間違っていたからと一々Visual modeを切って初めから選択する必要がなくなる。 Normal modeで[dycv][ia][wspbB

ナップサック問題

蟻本から: 重さと価値が, の物体n個から、重さの総和がWを超えない部分集合の最大の価値を求める。 解法としてはメモ化か: def solve(vs, ws, W): def max_v(i, max_w, memo = {}): if i >= len(vs): return 0 if (i, w) in memo: return memo[i, max_w] i…

Fence Repair問題

POJ/蟻本から 3253 -- Fence Repair 蟻本の解説がすごく面白かった。 板を切ることを二分木の枝分かれと考えて、最終的に切られた板一片にかかったコストは板の長さX二分木における深さ。 そう考えると、長さが短い板ほど深くするのが正しいことがわかる。の…

Best Cow Line問題

POJ/蟻本から: 3617 -- Best Cow Line ある文字列の左右どちらかの端から文字を1個ずつ取って、lexical orderが最小になる文字列を作成する、という問題。 最初は舐めていたのだが、bacbなどを正しく処理するためには先読みが必要になる。 しかしbbbbbacbbb…