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

2/2ページ
  • 2020.01.15

3.6 シェルソートをPythonで解いてみた

はじめに 「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」の各問題をPythonを用いて解いていくシリーズです。 このシリーズについて 問題 次のプログラムは、挿入ソートを応用して n個の整数を含む数列 Aを昇順に整列するプログラムです。 https://onlinejudge.u-aizu.ac.jp/courses/lesson/1/ALDS1/all/AL […]

  • 2019.12.08

3.5 安定なソートをPythonで解いてみた

はじめに 「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」の各問題をPythonを用いて解いていくシリーズです。 このシリーズについて 問題 トランプのカードを整列しましょう。ここでは、4つの絵柄(S, H, C, D)と9つの数字(1, 2, ..., 9)から構成される計 36 枚のカードを用います。例えば、ハートの 8 は"H8"、ダイヤの 1 は"D1"と表します。バブルソ […]

  • 2019.12.07

3.4 選択ソートをPythonで解いてみた

はじめに 「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」の各問題をPythonを用いて解いていくシリーズです。 このシリーズについて 問題 選択ソートは、各計算ステップで1つの最小値を「選択」していく、直観的なアルゴリズムです。 https://onlinejudge.u-aizu.ac.jp/courses/lesson/1/ALDS1/all/ALDS1_2_B 数列Aを読み […]

  • 2019.12.06

3.3 バブルソートをPythonで解いてみた

はじめに 「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」の各問題をPythonを用いて解いていくシリーズです。 このシリーズについて 問題 バブルソートはその名前が表すように、泡(Bubble)が水面に上がっていくように配列の要素が動いていきます。バブルソートは次のようなアルゴリズムで数列を昇順に並び変えます。 https://onlinejudge.u-aizu.ac.jp/c […]

  • 2019.12.04

3.2 挿入ソート をPythonで解いてみた

はじめに 「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」の各問題をPythonを用いて解いていくシリーズです。 このシリーズについて 問題 挿入ソート(Insertion Sort)は、手持ちのトランプを並び替えるときに使われる、自然で思い付きやすいアルゴリズムの1つです。片手に持ったトランプを左から小さい順に並べる場合、1枚ずつカードを取り出して、それをその時点ですでにソートさ […]

  • 2019.12.01

このシリーズについて

本シリーズは、こちらの本「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 で取り上げられている、アルゴリズムとデータ構造の基本となる47問+αの問題をPythonで解いていくものです。 元々こちらの本は会津大学が運営しているAizu Online Judgeの「Introduction to Algorithms and Data Structures」コースの問題を解説したもので […]

  • 2019.12.01

2.5 導入問題 |FX取引での最大利益ポイント検出をPythonで解いてみた

はじめに 「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」の各問題をPythonを用いて解いていくシリーズです。 このシリーズについて 問題 Aizu Online Judgeより 要は、このグラフでのdiffが最大化される2点を見つけましょうということです。(ただし、価格が減少し続ける場合は一番マイナスの利益=売却損が小さくなる2点を見つける。) 解法 注意点 常に価格が減少し続 […]