地上の洞窟

どこにも行かず、液晶と「にらめっこ」し続ける人の物語。

2025-04-01から1ヶ月間の記事一覧

【Ruby】最小個数部分和問題を動的計画法で解く

1 2 3 4 5ここにある数字を好きに組み合わせて足していき、目標となる値を作れるか? そんな問題を「部分和問題」という。9を目標の数とする場合 1, 3, 5 2, 3, 4 4, 5 目標の数となる組み合わせはいくつかあり、その中でも4, 5が手っ取り早い。 このような …

【Ruby】「編集距離」を動的計画法で計算する

yukari yukkuriある二つの文字列がある。 この二つを全く同じ文字列にするのに、一文字ずつの挿入・削除・置換を行う。 それらの操作は最小で何回だろうか? このような「最小操作回数」のことを「編集距離」*1と呼ぶ。バージョン管理や分析、つまりは差分や…