chevron_left

メインカテゴリーを選択しなおす

cancel
nashidos
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/05/05

arrow_drop_down
  • モンテカルロ法【カジノ】をPythonでシミュレートしてみる

    本記事では、モンテカルロ法と呼ばれるカジノにおける攻略法についてシミュレーションを行います。行ったシミュレーション結果から長期的にモンテカルロ法を使った場合にどうなるのか分析していこうと思います。 モンテカルロ法とは シミュレーション ソースコード シミュレーション結果 複数のシミュレーション ソースコード シミュレーション結果 まとめ (adsbygoogle = window.adsbygoogle []).push({}); モンテカルロ法とは この攻略法は以下のような流れで進められます。 数列を用意する(例 [1, 2, 3]) 端同士を足した金額を賭ける(例 1+3=4) 勝敗…

  • デプスチャートをPythonで描写してみる

    本記事では仮想通貨のデプスチャートをPythonで描写する方法について紹介します。今回は例としてbitflyerのBTC_JPYのデプスチャートを作成してみたいと思います。実際にソースコードも載せているのでご自由にお使いください。 デプスチャートとは bitFlyer API ソースコード 描写したデプスチャート まとめ デプスチャートとは デプスチャートはその名の通り注文の深さを視覚的に表したチャートです。買い、売りのそれぞれの注文がどの価格帯にどれだけの量注文されているかなどがわかるので、買いが強いのか売りが強いのかが判定しやすくなります。ただ、もちろんデプスチャートのみでトレンドを見極め…

  • PythonでOR演算、XOR演算を使った全探索を実装してみる-ABC197

    この記事ではOR演算、XOR演算を用いた全探索をPythonで実装していきます。一緒に例題を解きつつOR演算、XOR演算を使った全探索について理解しましょう。 OR演算、XOR演算の出力表 OR演算 XOR演算 例題 問題文 制約 実装 まとめ OR演算、XOR演算の出力表 それぞれの演算子の入力されたビットに対する出力の表を以下に示します。基本情報技術者試験などで最も最初に習う部分ですね。 入力1 入力2 論理和(OR) 排他的論理和(XOR) 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0 0 OR演算 OR演算はPythonでは以下のように計算することができます。 print…

  • .gitignoreファイルの最も簡単な作り方

    本記事では、.gitignoreファイルを簡単に作る方法について紹介していきます。どうやって.gitignoreファイルを作ればいいかわからない、.gitignoreファイルをもっと簡単に作成したいという方向けの記事です。 .gitignoreのテンプレ コマンドラインから利用 おわりに .gitignoreのテンプレ なかなか.gitignoreを1から自分で書くのはめんどくさいですし、初心者の方にとっては、どのファイルをignoreすればいいのかわからない時もあるかもしれません。そんな人のために.gitignoreのテンプレを用意してくれるサイトがあります。 www.toptal.com使…

  • Pythonで半分全列挙を実装してみる-ABC184

    本記事では、半分全列挙をPythonで実装していきます。実際に一緒に問題を解きながら半分全列挙を理解しましょう。 半分全列挙とは 例題 問題文 制約 実装 まとめ 半分全列挙とは 半分全列挙は、その名の通り個の要素を半分に分けてそれぞれを全列挙し、半分に分けたグループから組み合わせを考えることで高速に解を求める方法です。具体的には以下のような流れになることが多いです。 半分のグループを全列挙 もう半分のグループを全列挙 から要素を1つ選び固定し、二分探索を用いて最適な組み合わせを探す(全ての要素に対して繰り返す) それでは、実際に例題を解きながら理解していきましょう。 (adsbygoogle…

  • /usr/bin/env:そのようなファイルやディレクトリはありませんの解決法

    LinuxでPythonのスクリプトを実行しようとしたところ、以下のエラーが出てきました。/usr/bin/env:そのようなファイルやディレクトリはありません。本記事では、このエラーの原因と解決法について述べていきます。

  • Dockerでよく使うコマンド&オプション一覧

    dockerでよく使うコマンドとオプションをまとめてみました。 イメージのダウンロード コンテナ、イメージの詳細を表示 コンテナの起動 起動&生成 起動 コンテナの停止 特定のコンテナを停止 全てのコンテナを停止 プロセスの表示 起動中のコンテナのプロセス一覧を表示 全てのプロセス一覧を表示 イメージ一覧を表示 コンテナの削除 特定のコンテナを削除 全てのコンテナを削除 イメージを削除 特定のイメージを削除 全てのイメージを削除 シェルに入る docker-composeでシェルに入る dockerでシェルに入る DockerHub DocuerHubにログイン DocuerHubからログアウ…

  • Windows10でDocker Desktopが起動しなくなった時の対処法

    Docker Desktopが以前までは通常通り動いていましたが、急に動かなくなってしまいました。一応解決したので対処法について記します。 環境 Windows10 Docker version 19.03.12 状況 以前までは普通に動いていました。しかし突如として、Docker Desktopのアイコンをクリックしても何も反応がなくなってしまいました。特にエラーなども表示されず何も反応がないという状況です。この時、dockerコマンドは通常通り使用できました。 やったこと まずはHyper-Vが有効になっているか確認をしましたがちゃんと有効になっていました。次にVirtualBoxがあやし…

  • すぐにできるパワーポイントの資料を見やすくする3つの方法

    最近では、学生から社会人まで多くの人がパワーポイントで資料を作成することがあります。資料を作成する中で、「見やすいパワーポイントの資料を作りたいけど、どうすれば見やすくなるのかがわからない」という悩みに誰しも遭遇したことがあるのではないかと思います。本記事では、少し工夫するけでパワーポイントの資料を見やすくできる方法を3つ紹介していきます。実際にパワーポイントを修正しながら確認していきましょう。 はじめに それって矢印である必要ある? そのフォント見にくくない? インデントくらいは揃えよう おわりに はじめに まず、今回扱うパワーポイントを確認していきましょう。以下のパワーポイントを3つの方法…

  • 競プロ・AtCoderで頻出の数学的知識まとめ

    AtCoderのような競技プログラミングの世界では数学的知識が求められる問題が存在します。本記事ではその中でも頻出の数学的知識とその知識を使って解ける問題を列挙しました。Pythonでの実装例も合わせて載せています。 基数変換 基数変換とは「ある進数で表された進数を別の進数で表す」ことを言います。例えば、10進数で表記された「3」を2進数に変換すると「11」になります。基数変換を用いて解ける問題は以下の通りです。 B - Digits基数変換のPythonコード def Base_10_to_n(X, n): if (int(X/n)): return Base_10_to_n(int(X/n…

  • yarn installでerror : The engine "node" is incompatible with this module. が出たときの対処法

    本記事ではyarn installの実行時に遭遇したエラーの対処法について記します。 環境 Ubuntu 16.04 node 12.18.3 エラー内容 yarn installをしたときに下記のようなエラーメッセージが表示されて実行できませんでした。 error @: The engine "node" is incompatible with this module. Expected version "~10". Got "12.18.3" error Found incompatible module. 対処法 原因は書いてある通りですが、バージョンによるものです。ただ、nodeのバ…

  • Pythonでエラトステネスの篩(ふるい)を実装してみる-ABC084

    本記事ではエラトステネスの篩(ふるい)をPythonで実装していきます。実際に問題を解きながらエラトステネスの篩の動きを確認していきましょう。 エラトステネスの篩とは 例題 問題文 制約 実装 まとめ エラトステネスの篩とは エラトステネスは古代ギリシャの学者で、数学や天文学にとどまらず哲学や文献学などの多岐にわたる分野で活躍したすごい人です。特に、地球の大きさを初めて定量的に測定したことや、素数の判定法を発明したことで有名です。この素数判定法が今回紹介する「エラトステネスの篩」です。エラトステネスの篩は以下のような流れで素数を判定します。 2以上n以下の整数を並べる 未使用のものから一番小さ…

  • Pythonで英語のストップワードを取得する方法

    ストップワードとは 自然言語処理においては、出現頻度が高いにも関わらず特別な意味をもたない不要な単語を削除する必要があります。この不要な語をストップワードと言います。日本語で言えば、「は」、「です」、「する」などがストップワードに相当します。英語で言えば「i」, 「a」, 「is」などがストップワードに相当します。 nltkライブラリ 英語のストップワードはnltkライブラリに用意されています。以下のPythonコードでストップワードをリストアップできます。 from nltk.corpus import stopwords import nltk nltk.download('stopwor…

  • matplotlib.animationでアニメーションが表示されないときの対処法

    アニメーションが表示されない matplotlib.animationでエラーは出ていないもののアニメーションが表示されずに困ったので、その解決法について記します。アニメーションが表示されなかったのは以下のコードです。挿入ソートをアニメーションで可視化しようとしていました。 import numpy as np import matplotlib.pyplot as plt import random import matplotlib.animation as animation fig = plt.figure() ims = [] def insert_sort(arr): for i …

  • Pythonでデータ分析を始める人におすすめの学習リソース

    はじめに Pythonでデータ分析をするためには多くの知識が求められます。データの可視化、回帰分析、機械学習、特徴量生成、ファイル操作など必要な知識は多岐にわたります。そこで本記事では、ファイル操作やデータの可視化、回帰分析などの基礎的な知識を学べる教材と、機械学習や特徴量生成などの応用的な知識が学べる教材をそれぞれ紹介します。 データ分析の基礎を学びたい人はUdemyの「ゼロから始めるデータ分析」がおすすめ 【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門 Udemyは動画でプログラミングを学習できるサービスです。多種多様なコースが用意されており、それぞれの…

  • 累積和と尺取り法の複合問題をPythonで解いてみる-ABC172

    この記事では累積和と尺取り法を駆使することで解ける問題をPythonで実装していきます。それぞれのアルゴリズムについての説明はこの記事では省略しますが、別記事で解説していますので累積和と尺取り法についてまず知りたいという方は以下にリンクを載せておきますのでそちらをご覧ください。Pythonで累積和を実装してみる-ABC122 - nashidos’s diary 累積和‥累積の和をとる前処理をすることによってクエリの速度を上げるアルゴリズムPythonでしゃくとり法(尺取り法)を実装してみる-ABC032 - nashidos’s diary 尺取り法‥左端と右端のインデックスを条件に合わせて…

  • Pythonで余弦定理の問題を解いていく-ABC168

    競技プログラミングではしばしば数学の知識が問われる問題が出されることがあります。今回は高校で習う余弦定理を利用して解ける問題をPythonで解いていきます。 余弦定理 例題 問題文 制約 実装 まとめ 余弦定理 余弦定理は一言で説明すると2つの辺の長さと1つの内角がわかっていれば、もう一つの辺の長さを求めることができるという定理です。式で表すと以下の通りです。 Pythonではmathモジュールで三角関数の計算をすることができます。 例題 余弦定理で解ける問題として以下の問題を取り扱います。 atcoder.jp 問題文 時針と分針の長さがそれぞれ A センチメートル、Bセンチメートルであるア…

  • Chrome拡張の開発中にファイル内容の変更を自動で反映する方法

    この記事ではコードの変更を自動で検知して更新する方法について解説します。Chrome拡張の開発ではホットリロードのファイルをダウンロードし、manifest.jsonで設定するだけで自動更新が可能になります。 ホットリロード ホットリロードとはコードを変更したときマニュアルでリロードしなくとも、自動でリロードしてくれる機能のことを言います。この設定をするだけで開発のスピードが格段に上がります。 hot-reload.jsのダウンロード Chrome拡張開発用のホットリロードのファイルは下記リンクから参照できるのでコピペもしくはダウンロード等してください。 https://github.com/…

  • Pythonで順列全探索を実装してみる-ABC150

    本記事では順列全探索をPythonで実装していきます。Pythonではitertoolsを使うことで簡単に順列を生成することができます。 順列全探索とは 例題 問題文 制約 実装 まとめ 順列全探索とは 順列全探索とは通りの順列の組み合わせを全探索する手法です。例えば、(1, 2, 3)の組み合わせはなので全部で9種類あります。 9種類の組み合わせはこのようになります。 [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]順列は再帰関数を利用することによって自分で一から実装することもできますが、Pythonの場合は…

  • Pythonで解くナップサック問題【動的計画法(DP)入門】

    この記事では競技プログラミング等で頻出のアルゴリズムである「動的計画法」をナップサック問題を通して解説していきます。まず動的計画法についての解説をしてから、実際にナップサック問題をPythonで解いていきます。 そもそも動的計画法(DP)とは ナップサック問題を解こう 問題文 実装 まとめ (adsbygoogle = window.adsbygoogle []).push({}); そもそも動的計画法(DP)とは 動的計画法を簡単に説明すると「問題を分割して計算結果を記録しながら解いていく手法」です。細かく定義されているアルゴリズムではないので一言で動的計画法といっても種類がいくつかあ…

  • XAMPPのMySQL起動時に起こるError: MySQL shutdown unexpectedlyの解決法

    (adsbygoogle = window.adsbygoogle []).push({}); 久しぶりにXAMPPのMySQLを起動したら以下のようなエラーが出てきました。 Error: MySQL shutdown unexpectedly. This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method.結論から述べると、エラーが言ってくれているように前回起動したMySQLが残っていたことが原因でした。Wind…

  • フルスクリーンショットを撮って保存するChrome拡張を作ってみる

    Webページ全体のスクリーンショットを撮りたい!スクリーンショットを撮った時にタスクバーや開いてるタブまで一緒に写ってほしくない!というわけでページ全体のスクリーンショットを撮って保存をしてくれるChrome拡張を開発していきます。 html2canvas Chrome拡張 manifest.json content.js html2canvas.js さいごに (adsbygoogle = window.adsbygoogle []).push({}); html2canvas html2canvasというライブラリを使うことでJavascriptで簡単にスクリーンショットを撮ることが…

  • Pythonでダイクストラ法(Dijkstra's algorithm)を実装してみる-ABC012

    本記事ではダイクストラ法の全体的な流れを確認したあとに実際に例題をPythonで解いていきます。ダイクストラ法の基本的な考え方は貪欲法です。最短距離でいけるところを選んで距離をひたすら更新していきます。

  • 【初心者向け】Google Chrome拡張を3分で開発してみる

    この記事ではGoogle Chrome拡張機能をこれから開発をしたい初心者のために3分で拡張機能を開発していきます。とりあえずChrome拡張を簡単なものでいいから作って動かしたい人向けに記事になります。それでは3分スタート! 目標物 manifest.json content.js おわりに 目標物 Qiitaのサイトを閲覧すると「勉強してて偉い!」と褒めてくれるChrome拡張を開発したいと思います。完成すると以下のようにQiitaに行くと褒めてくれます。(優しい世界) (adsbygoogle = window.adsbygoogle []).push({}); manifest.…

  • スクレイピングエラーの解決方法-Only the following pseudo-classes are implemented: nth-of-type

    PythonのBeautifulSoupでスクレイピングをしようとしたときに下記のようなエラーがでました。 NotImplementedError: Only the following pseudo-classes are implemented: nth-of-type.これはBeautifulSoupではコロンが疑似クラスとして認識されてしまうことが原因のようです。解決策は色々ありますが、もっともシンプルで簡単な解決方法はBeautifulSoupのアップグレードです。この問題はBeautifulSoup 4.5.0以降では解決されているので以下のコマンドを実行してアップグレードしましょ…

  • Pythonで平方根(ルート)の精度を上げる方法-パナソニックプロコン

    この記事では、Pythonで平方根の計算の精度を上げる方法を記します。Pythonで平方根の計算をただすること自体は難しくありません。例えば以下のように”**”を使う方法や print(2**0.5) #1.4142135623730951 numpyを用いて求める方法もあります。 import numpy as np print(np.sqrt(2)) #1.4142135623730951 しかし、これらの計算精度はあまりよくなく、以下のような高い精度を求められる問題を解くことができません。 atcoder.jpPythonではdecimalを使うことで楽に高い精度を出すことができます。 …

  • Jupyterで競技プログラミングをするならスニペットを使おう

    AtCoderなどの競技プログラミングではコーディングのスピードは非常に重要視されます。そこで本記事では、コーディング時間を短縮するためにスニペットを利用する方法について紹介します。 (adsbygoogle = window.adsbygoogle []).push({}); 実行環境 拡張機能のインストール スニペット機能を有効化 スニペットの登録 スニペットの実行 おわりに 実行環境 Windows10 Anaconda Jupyter Notebook Python3.7 拡張機能のインストール Jupyterでスニペットを利用するにはまず拡張機能のjupyter_contrib…

  • Windows10で自分のパソコンに使われているSSDの規格を調べる方法

    自分のパソコンに使われているSSDがSATAだということは型番を検索したらすぐわかったものの、2.5インチなのかM.2 なのかがわかりませんでした。なので、この記事ではWindows10でSSDの規格を調べる方法を記していきます。 (adsbygoogle = window.adsbygoogle []).push({}); では、操作手順について説明していきます。 「エクスプローラー」をクリック 「PC」をクリック 「C:ドライブ」を右クリック 「プロパティ」をクリック 次に、上のタブにある「ハードウェア」をクリック。 そうすると使われているディスクドライブの名前を確認することができま…

  • bit全探索で解ける問題をPythonでひたすら解いていく

    この記事ではタイトルにある通りbit全探索の問題をひたすら解いていきます。bit全探索自体の解説は以下の記事を参照してください。 nashidos.hatenablog.com 例題1(難易度:茶) 問題文 実装 例題2(難易度:茶) 問題文 実装 例題3(難易度:緑) 問題文 実装 さいごに (adsbygoogle = window.adsbygoogle []).push({}); 例題1(難易度:茶) atcoder.jp 問題文 高橋君は友達とキャンプに行くことになった。 高橋君と友達は性能が同じである 2個の肉焼き器を持っており、それぞれの肉焼き器にお肉を乗せて並行して焼くこ…

  • Pythonで動的計画法(Dynamic Programming)を実装してみる

    この記事ではPythonを使って動的計画法(DP)の問題を解いていきます。本記事ではこれから動的計画法の勉強を始める入門者向けに解説していきます。動的計画法のイメージをつかむために簡単な問題を解いていきますので、がっつりDPを勉強をしたい人にとっては物足りないかもしれないのでご注意ください。また、動的計画法は難易度が高めのアルゴリズムなので「AtCoderで茶色になりたい!」という人は動的計画法よりも累積和やDFSなどの勉強を先にすることをおすすめします。 動的計画法とは 例題 問題文 制約 実装 おわりに (adsbygoogle = window.adsbygoogle []).pu…

  • Pythonでランレングス圧縮(RLE)を実装してみる-ABC019

    この記事ではPythonを使ってランレングス圧縮(RLE)を実装していきます。ランレングス圧縮はデータ圧縮アルゴリズムの一種でRLE(Run Length Encoding)とも言われます。連続したデータを、ひとつ分のデータと連続した長さで表現します。たとえば「AAABBCCCCA」は「A3B2C4A1」という風に表すことができます。

  • Pythonでしゃくとり法(尺取り法)を実装してみる-ABC032

    しゃくとり法は以下のような時に使えるアルゴリズムです。〇〇を満たす区間 (連続する部分列) のうち、最小or最大の長さを求めよ、〇〇を満たす区間 (連続する部分列) を数え上げよ。左端と右端のインデックスを条件に合わせて適切に動かすことによって最適化します。全探索では(O(n^2))かかる問題でもしゃくとり法では(O(n))で計算することが可能です。

  • 全探索アルゴリズムの例題&解説まとめ

    ひとことに全探索といっても様々な種類があります。この記事では今まで解説してきた全探索アルゴリズムをまとめていきたいと思います。 (adsbygoogle = window.adsbygoogle []).push({}); 単純な全探索 bit全探索 深さ優先探索 幅優先探索 単純な全探索 単純な全探索は最も簡単な全探索です。for文を2重3重にして回すことで実装することができます。実装は簡単ですが、計算量は大きくなるので注意しましょう。nashidos.hatenablog.com bit全探索 bit全探索はbit演算を利用して、Yes or Noのような2択を網羅的に探索することが…

  • statsmodels.apiでcannot import name 'factorial'が出たときの対処法

    (adsbygoogle = window.adsbygoogle []).push({}); statsmodels.apiをインポートしようとしたら下記のようなエラーが出て困ったのでその対処法を記していきます。 ImportError: cannot import name 'factorial'結論から言うと、どうやらscipyのバージョンに原因があるようでした。そこでscipyのバージョンを1.3.1から1.1.0にバージョンを戻してみました。 pip uninstall scipy pip install scipy==1.1.0これで上手くインポートできました。

  • Pythonで区間スケジューリング問題を解いてみる-キーエンスプロコン2020

    この記事では区間スケジューリング問題をPythonを利用して解いていきます。区間スケジューリング問題はソートと貪欲法を利用することによって解くことができます。貪欲法を知らない方はまずこちらの記事をお読みください。 nashidos.hatenablog.com (adsbygoogle = window.adsbygoogle []).push({}); 例題 問題文 制約 実装 まとめ 例題 atcoder.jp 問題文 ある工場では、 数直線上に N 個のロボットが設置されています。 ロボット i は座標 Xi に設置されており、数直線の正負の方向にそれぞれ長さ Liの腕を伸ばすこと…

  • Pythonで幅優先探索(BFS)を実装してみる-ATC001&ABC151

    今回は幅優先探索をPythonで実装していきます。本記事では、幅優先探索の基本的な最短経路を求める問題と少し応用的な問題を解いていきます。 幅優先探索(BFS)とは 例題1 実装 例題2 実装 まとめ 幅優先探索(BFS)とは 幅優先探索(BFS)はBreadth First Searchの略で横型探索とも言われます。その名の通り、幅を優先して探索していきます。といっても言葉だけではわかりにくいと思うのでどのように探索していくのか図をみてみましょう。 参照元:幅優先探索 - Wikipediaグラフの深さを優先してひたすら掘り進めて探索していく深さ優先探索とは違い、幅を優先して探索していること…

  • Pythonで深さ優先探索(DFS)を実装してみる-ATC001

    本記事では、深さ優先探索をPythonを利用して実装していきます。実際に深さ優先探索の典型問題をスタックと再帰関数の2パターンの解き方で実装し、解説していきます。 深さ優先探索(DFS)とは 例題 問題文 再帰関数で実装 スタックで実装 まとめ 深さ優先探索(DFS)とは 深さ優先探索とはDepth First Searchの略で、バックトラック法とも言われます。目的のノードを見つけるか、全て探索し終わるまで1と2を繰り返します。 目的のノードをみつけるか、探索できる子ノードがなくなるまで探索 探索できる子ノードがなくなるとバックトラック(分岐したところまで戻る)して、再び探索 探索していく順…

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

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

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

    Kaggleに登録したものの使い方がわからず困っている人もいるのではないでしょうか。私自身、Kaggle入門者向けの記事を読んでタイタニックの提出はしてみたものの、いざ自分でコンペに参加しようと思うとわからないことが多すぎて放置していました。なので、本記事ではKaggleの使い方について丁寧に詳しく述べていきたいと思います。なお、Kaggleのアカウント登録の方法などはこの記事では紹介しませんのでご注意ください。

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

    今回の記事ではPythonで貪欲法(Greedy Algorithm)を実装していきます。貪欲法は最適化手法の中でも基本的なアルゴリズムで比較的実装も簡単なので書けるようにしておきましょう。 貪欲法とは 例題 問題文 制約 実装 さいごに (adsbygoogle = window.adsbygoogle []).push({}); 貪欲法とは 貪欲法とはその場その場で最善の手のみを選び続けるというアルゴリズムです。問題を部分問題に分割し、それぞれの問題を独立して評価を行います。少し動的計画法(DP)にも似ていますが、異なっている点として貪欲法は以下のような特徴があります。 保持する状態…

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

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

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

    本記事ではProgateが終わった次にすべきことについて私自身の考えを述べていきます。次にやるべきこととして「自分で何かを作る」ということがよく言われますが実際のところはどうなのかについて考察していきます。 「自分で何かを作る」は正しいか? AtCoderがおすすめな理由 さいごに (adsbygoogle = window.adsbygoogle []).push({}); 「自分で何かを作る」は正しいか? この問いに対する私の答えは半分Yesです。例えば、HTMLやCSSなどの言語の場合は早速自分で何かを作ってみるというのは非常に良いと思います。しかし、PythonやJavaなどの言…

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

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

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

    (adsbygoogle = window.adsbygoogle []).push({}); 二分探索 本記事ではPythonを使って二分探索を実装していきます。二分探索とはソートされたデータを高速に探索することができるアルゴリズムです。ソートされていないものには使えないので注意してください。二分探索はその名の通り、データを2つに分けて探索するという操作を繰り返しながら探索する方法です。では実際に問題を解きながら理解していきましょう。 問題 今回は以下の問題を扱います。 atcoder.jp 問題文 高橋くんは整数を 1つ買いに整数屋さんに行きました。 整数屋さんには 1以上 10^9…

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

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

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

    bit全探索 全探索にもいろいろ種類がありますが今回はbit全探索をPythonで実装していきたいと思います。bit全探索とはその名の通りbit演算を利用して行う全探索で、Yes or Noのような2択を網羅的に探索する時に使えます。説明を聞いてもわかりにくいかもしれませんが、実際に問題を解けば理解しやすいと思います。 問題 今回は以下の問題を扱います。 atcoder.jp (adsbygoogle = window.adsbygoogle []).push({}); 問題文 駅の待合室に座っているjoisinoお姉ちゃんは、切符を眺めています。 切符には 4つの 0 以上 9 以下の…

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

    全探索 問題 問題文 制約 実装 (adsbygoogle = window.adsbygoogle []).push({}); 全探索 全探索にはbit全探索やDFSなどいろいろありますが、今回は最も簡単な基本の全探索をPythonで実装していきます。 問題 問題は ABC 051 B-Sum of Three Integersを扱います。B - Sum of Three Integers 問題文 2 つの整数 K,S が与えられます。 3 つの変数 X,Y,Z があり、0≦X,Y,Z≦K を満たす整数の値を取ります。 X+Y+Z=S を満たす X,Y,Z への値の割り当ては何通りあり…

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

    はじめて当ブログを開設するにあたって、このブログの目的および内容の確認と軽く自己紹介を書こうと思います。 ただし、内容や目的が変わる可能性もあるのでそこのところはご容赦ください… 自己紹介 当ブログの目的 当ブログの内容 さいごに 自己紹介 情報学について学んでいる大学学部3年生になります。 主に最近取り組んでいる内容としては以下の通りです。 Atcoder Kaggle 研究 Atcoderには一応毎週参加しております(現在茶色)。 Kaggleは最近始めたばかりですがAtcoderとはまた違った面白みがあり、ハマっています。 研究に関しては、まだそんな研究と呼べるようなことはしていませが、…

arrow_drop_down

ブログリーダー」を活用して、nashidosさんをフォローしませんか?

ハンドル名
nashidosさん
ブログタイトル
nashidos’s diary
フォロー
nashidos’s diary

にほんブログ村 カテゴリー一覧

商用