数独をバックトラック法で解きます。 数独は3×3のグループ(ブロック)に区切られた 9×9の正方形の枠内に1から9までの数字を入れるパズルの一つです。アメリカのパズル誌に載っていた「Number Place」というパズル・・・
数独をバックトラック法で解きます。 数独は3×3のグループ(ブロック)に区切られた 9×9の正方形の枠内に1から9までの数字を入れるパズルの一つです。アメリカのパズル誌に載っていた「Number Place」というパズル・・・
両端キュー 両端キューまたはデックは、計算機科学における抽象データ型の1つで、先頭または末尾で要素を追加・削除できるキューです。 C – pushpush C – pushpush 長さ N の数・・・
ヒストグラム中の最大の長方形の面積は? 緑色の部分から最大の長方形を探す問題です。 これは最大長方形問題を解く 面積が最大の長方形を見つけるアルゴリズムでもやったように、スタックを利用してO(N)で解を求める方法がありま・・・
充足可能性問題とは? 充足可能性問題(satisfiability problem, SAT)は、一つの命題論理式が与えられたとき、それに含まれる変数の値を偽 (False) あるいは真 (True) にうまく定めること・・・
強連結成分分解とは? 強連結成分(SCC, Strongly Connected Component)とは、有向グラフにおいて互いに行き来が可能な頂点の集合のことです。強連結成分分解とは、強連結成分を1つの頂点にまとめる・・・
Nim は、2人でおこなうレクリエーション数学ゲーム(組合せゲーム)の一つです。歴史的には、最初に必勝法が数学的に解決したゲームです。双方が最善をつくす場合、どちらが勝つかは最初の個数の組で決まります。 以下のようなゲー・・・
今回は石取りゲームの必勝法を考えます。 K – Stones K – Stones N 個の正整数からなる集合 A = { a_1, a_2, …, a_N } があります。 最初に、K 個の石か・・・
包除原理とは数え上げ組合せ論における基本的な結果のひとつです。 2つの有限集合 A と B の和集合に属する元の数を計算するには、まずそれぞれに属する元の数 |A| と |B| を足しあわせた後、それらの共通部分に属する・・・
整数 A を M で割った余りと、整数 B を M で割った余りが等しい場合、「M を法として A と B は合同である」といい A ≡ B(mod M)と表されます。 mod の逆元 M と互いに素である整数 A に対・・・
行列を用いて連立一次方程式を解く方法は 掃き出し法で連立一次方程式を解く 逆行列と行列式を求める でやりました。 掃き出し法(ガウス・ジョルダン Gauss-Jordan 法) 連立方程式を 行列 と 列ベクトル で表し・・・