nashidos’s diary

アルゴリズムとか機械学習とか色々

2019-01-01から1年間の記事一覧

Pythonでビットコインの価格変動と曜日の関係を分析してみる

「月曜日は上がりやすい」など曜日と価格変動が関係しているという噂を耳にしたことがある人もいるのではないでしょうか。そこで本記事では、実際に曜日と価格変動に関係があるのかをPythonを利用して分析していきます。

Kaggleの使い方を初心者向けに丁寧に説明してみる

Kaggleに登録したものの使い方がわからず困っている人もいるのではないでしょうか。私自身、Kaggle入門者向けの記事を読んでタイタニックの提出はしてみたものの、いざ自分でコンペに参加しようと思うとわからないことが多すぎて放置していました。なので、…

Pythonで貪欲法(Greedy Algorithm)を実装してみる-ABC076

今回の記事ではPythonで貪欲法(Greedy Algorithm)を実装していきます。貪欲法は最適化手法の中でも基本的なアルゴリズムで比較的実装も簡単なので書けるようにしておきましょう。 貪欲法とは 例題 問題文 制約 実装 さいごに (adsbygoogle = window.adsbygoo…

Pythonで優先度付きキューを実装してみる-ABC141

今回は優先度付きキューをPythonのheapqで実装していきます。優先度付きキューとは一言で説明すると最大値、最小値を普通のリストよりも早く見つけることができるアルゴリズムです。通常のリストでは最大値、最小値を見つける計算量が(O(N))であるのにたいし…

Progateが終わったら次はAtCoderがおすすめな理由

本記事ではProgateが終わったら次にすべきことについて私自身の考えを述べていきます。Progateが終わったら次は「自分で何かを作ってみるといい」ということがよく言われますが実際のところはどうなのかについて考察していきます。 「自分で何かを作る」は正…

AtCoderでAttributeError: 'module' object has no attribute 'gcd'が出たときの対処法

自分の環境では実行できるのにAtCoderで実行してみるとAttributeError:'module' object has no attribute 'gcd'と表示されて困った方もいるのではないでしょうか。私もAtCoderで初めてgcdを使った時にエラーが出てきて、対処法に困ったのでここに解決策を記…

Pythonで二分探索を実装してみる-ABC146

本記事ではPythonを使って二分探索を実装していきます。二分探索とはソートされたデータを高速に探索することができるアルゴリズムです。ソートされていないものには使えないので注意してください。二分探索はその名の通り、データを2つに分けて探索するとい…

Pythonで累積和を実装してみる-ABC122

累積和とはその名の通り、累積の和をとる前処理をすることによってクエリの速度を上げることができるアルゴリズムです。実際に累積和の問題をPythonで解いていきます。どれくらい速くなるかを確認していきましょう。

Pythonでbit全探索を実装してみる-ABC079

bit全探索 全探索にもいろいろ種類がありますが今回はbit全探索をPythonで実装していきたいと思います。bit全探索とはその名の通りbit演算を利用して行う全探索で、Yes or Noのような2択を網羅的に探索する時に使えます。説明を聞いてもわかりにくいかもしれ…

Pythonで単純な全探索を実装してみる-ABC051

全探索 問題 問題文 制約 実装 全探索 全探索にはbit全探索やDFSなどいろいろありますが、今回は最も簡単な基本の全探索をPythonで実装していきます。 問題 問題は ABC 051 B-Sum of Three Integersを扱います。B - Sum of Three Integers 問題文 2 つの整数…

当ブログを開設するにあたって

はじめて当ブログを開設するにあたって、このブログの目的および内容の確認と軽く自己紹介を書こうと思います。ただし、内容や目的が変わる可能性もあるのでそこのところはご容赦ください…