山傘のプログラミング勉強日記[Java & Unity]

プログラミングに関する日記とどうでもよい雑記からなるブログです。

Aizu Online Judge

[ALDS1_5_D] The Number of Inversions

マージソートを利用した反転数の計算 プログラムコンテスト攻略のためのアルゴリズムとデータ構造7章6節 反転数をやっていきます。 反転数とは数列 ] において、 かつ である組 の個数を言います。バブルソートでも反転数がでてきますね。

[Aizu Online Judge] クイックソート (ALDS1_6_C: Quick Sort)

クイックソート クイックソート | アルゴリズムとデータ構造 | Aizu Online Judge プログラミングコンテスト攻略のためのアルゴリズムとデータ構造の7章3節 クイックソートをやります。C言語の回答をJavaで書き直しているだけですが、 タイプミスやエラーが…

[Aizu Online Judge] パーティション (ALDS1_6_B: Partition)

数値配列を基準値で分割する パーティション | アルゴリズムとデータ構造 | Aizu Online Judge プログラミングコンテスト攻略のためのアルゴリズムとデータ構造の7章2節のパーティションをやりました。パーティションは基準値を元に配列を整列させるアルゴリ…

[Aizu Online Judge]全探索 (ALDS1_5_A: Exhausive Search)

全探索 プログラミングコンテスト攻略のためのアルゴリズムとデータ構造の6章2節では、全探索のアルゴリズムについてでした。 6章では、再帰・分割統治法を取り扱います。プログラムで再帰といえば、階乗を求めるプログラムが思い浮かびます。 分割統治は、…

[Aizu Online Judge] 二分法を利用した最適解の計算 (ALDS1_4_D: Allocation)

二分法 二分探索はソート済の配列を探索するアルゴリズムとして有名ですが、数値計算で二分法というものがあります。 二分法は、解の範囲が既知のとき、範囲の中間値を解の候補として探索していく手法です。 高校数学まででは馴染みがないですが、入試でみか…

[Aizu Online Judge] ハッシュを使った辞書の実装 (ALDS_1_4_C: Dictionary)

ハッシュ ハッシュとは、あるデータが与えられたときに、そのデータを代表する数値を得る操作です。その数値はハッシュ値と呼ばれ、直接データを比較するのではなく、ハッシュ値同士を比較することで、同じデータかどうかを判別可能になります。 異なるデー…

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 その1

番兵法 プログラミングコンテスト攻略のためのアルゴリズムとデータ構造の5.2 線形探索の項目では、番兵法が取り上げられていました。 プログラミングコンテスト攻略のためのアルゴリズムとデータ構造作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)出版社/メーカ…