プログラミング
記事内に商品プロモーションを含む場合があります

AtCoderで役立つ記事一覧(Python, Go言語)

アイキャッチ画像
Aru

主にAtCoderに関連したPython, Go言語の記事の一覧です。初心者向けのチートシートなどもありますので参考にしてください(言語に関連する記事も「基本」に入れています)

⭐︎のある項目は、よく使われるものです
※のある項目は、通常のコンテストでは使わないものです

一般

考え方

解法がまったく思いつかない場合は、以下の記事を眺めてみましょう

AtCoderのABCで詰まった時の思考(解法)のヒント(助け)⭐︎

その他

プログラミングで間違えやすい、植木算の計算方法を解説⭐︎

期待値計算|両辺にE(x)が現れる場合の解き方を解説⭐︎

ガチャの期待値|ガチャコンプに必要な回数を求める⭐︎

コード支援ツール

無料で使えるコード生成AI「Codeium」をVSCodeで使う方法
※Atcoderでは、生成AIの使用についてルールがあります。ルールに気をつけて利用しましょう。

Python

基本

AtCoder向けpythonチートシート(入力編)⭐︎

AtCoder向けpythonチートシート(その2)⭐︎

Pythonで文字列を分割・結合する—split()とjoin()の使い方ガイド⭐︎

Pythonのforループを攻略する|range, enumerate, zipの使い方ガイド⭐︎

Pythonのソートパターンを徹底解説!任意の条件でデータをソートする方法⭐︎

コードがシンプルに!Pythonの内包表記の使い方を解説⭐︎

Pythonの可変長引数*argsと*kwargsの使い方と違いを分かりやすく解説

Pythonの型ヒントを使った型宣言パターン(変数、関数、独自型、numpy…)

Python|argparseでコマンドライン引数を取得する方法

キュー・再帰・その他注意点

Python初心者がAtCoderでハマりがちなポイント解説(キュー処理・再帰処理など)⭐︎

リストと集合で大きく違う!”if A in B”の処理速度の罠|Python

色々なアルゴリズムの実装(データ構造など)

SortedSet, SortedList, SortedDict

AtCoderで使えるPythonのSortedSet, SortedDictを解説

UnionFind(DSU)

Python|UnionFind(DSU)クラスの実装と利用方法⭐︎

BIT(Fenwick Tree)

Binary Indexed Tree(Fenwick Tree)を実装する|Python⭐︎

行列累乗

行列の累乗を繰り返し二乗法で高速計算する方法(Python)⭐︎

グラフ(DFS,BSF、ダイクストラ法)

Pythonで深さ優先探索(DFS),幅優先探索(BFS),ダイクストラ法を実装する⭐︎

A*アルゴリズムで効率的に最短経路を探索|Pythonによる実装例

グラフ(ワーシャル・フロイド法)

N=300くらいまでの最短経路探索に使える手法

3重ループで最短経路を探索する方法(ワーシャルフロイド法)をPythonで実装する

(文字列)部分文字列の一致を調べる(文字列の更新付き)

【Python】ローリングハッシュをセグメント木に載せる|部分文字列の一致を高速にチェック

(グラフ)始点と終点の双方から幅優先探索を行う(演算量削減)

両端からの幅優先探索(BFS)で演算量を削減する高速化テクニック

(文字列)LIS(最長増加部分列)と再構成

Python|最長増加部分列(LIS)を求める方法とその1つを構成する方法⭐︎

(グラフ)木の重心を求める

木構造のグラフの重心を簡単に求める方法|Pythonによるアルゴリズム解説⭐︎

色々なアルゴリズムの実装(テクニック)

(組み合せ)MOD付き組み合わせ数 nCk

PythonでMOD付きnCk(組み合わせ数)を求める方法⭐︎

(幾何)図形(線分と点の最短距離)

点と線分の最短距離を計算する方法|Pythonコード付き

拡張ユークリッドの互除法の応用例

拡張ユークリッドの互除法の応用例を解説【Python/Go】⭐︎

(数列)式変形して解く

プログラミング問題『累積和(Σx^k)』の解き方

(数列)数列の差(or 差の絶対値)の総和、区間最大和

数列問題:差の総和や区間最大和の解き方まとめ|Python⭐︎

鳩の巣原理

鳩の巣原理とは?アルゴリズム検定問題の具体例を使って解説⭐︎

区間差の最大和

モンテカルロ法

3000万の資産で何年暮らせるかを、モンテカルロ法で求めてみる【Python】

ビットカウント

2進数の1が立っているビットを高速にカウントする方法|Python

パリティチェック

パリティチェックの解説とXORを用いた高速な計算方法

数列問題

数列問題|要素2つの合計が一定値以上になる組み合わせを高速に求める方法⭐︎

その他

(ゲーム)min-max法を用いた対戦プログラム

コンピュータと対戦できる!3目並べ(tic-toc-toe)をPythonで実装してみよう

ユニットテスト

PythonのUnittestを使ったテストコードの書き方とリファクタリングの実践ガイド

Go言語

基本

Go言語プログラミング|基本文法・構文総まとめ⭐︎

Go言語でAtCoder参加時のテンプレートと注意すべきポイント⭐︎

Go言語のsortアレコレ!ソートの基本からスライスを自在に並べ替える方法を解説⭐︎

Go言語のジェネリクスの使い方をQueueとSetの実装を例に解説

Go言語のfor~rangeの注意点(ポインタ参照について)⭐︎

Go言語でフォルダ内のローカルパッケージをインポートする手順を解説

ゴルーチンとチャネル

Go言語のチャネルの基本と注意点|ゴルーチンでデータを送受信する方法

ゴルーチン(goroutine)とチャネルを使った並行処理の実践例|Go言語法

ゴルーチン(goroutine)とチャネルを使った並行処理の記述方法いろいろ|Go言語

キューなどの実装方法

Go言語でAtCoder|スタック、キュー、 優先キューの実装方法⭐︎
(stack, queue, priority queueの書き方)

ヒープと優先キューの作り方をGolangで学ぼう|ジェネリクス対応版

Go言語で予約キャンセル機能付きのキューを実装する(ジェネリクス対応版)

MOD付き演算

AtCoderのためのGo言語用mod付き計算ライブラリ|実装と活用方法⭐︎

64bitを超える整数を扱う

Goで64bitを超えるの多倍長整数を扱う方法【big.Int解説】

色々なアルゴリズムの実装

最大公約数(GCD)

Go言語で最大公約数を求める(ユークリッドの互除法)⭐︎

UnionFind

Go言語でUnionFind(DSU)を実装|データ構造とアルゴリズム⭐︎

順列列挙と組み合わせ列挙

Go言語で順列列挙と組み合わせ列挙を実装する(NextPermutation, Combinations)⭐︎

図形(線分の交差判定)

Go言語による2本の線分の交差判定の実装⭐︎

Go言語の ゴルーチンとチャネルでfor~rangeによる繰り返しを実現する方法

https://tech.aru-zakki.com/golang-for-generator/⭐︎

Go言語でC++のlower_bound, upper_boundを実装する

https://tech.aru-zakki.com/lowerbound-upperbound-for-golang/⭐︎

ヒューリスティックコンテスト関連

rand.Seedが非推奨になったGo1.20以降の乱数シードの設定方法

その他

GoSTL

AtCoderで使えるC++STLライクなライブラリ「GoSTL」を紹介⭐︎

min-max法を用いた対戦プログラム

コンピュータと対戦できる!3目並べ(tic-toc-toe)をGo言語で実装してみよう

Web APIサーバーを作成する

Go言語でWeb APIサーバーを構築|echoで手軽に実装してみる

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
ある/Aru
ある/Aru
IT&機械学習エンジニア/ファイナンシャルプランナー(CFP®)
専門分野は並列処理・画像処理・機械学習・ディープラーニング。プログラミング言語はC, C++, Go, Pythonを中心として色々利用。現在は、Kaggle, 競プロなどをしながら悠々自適に活動中
記事URLをコピーしました