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

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

アイキャッチ画像
tadanori

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

一般

考え方

AtCoderの問題に詰まったら眺める記事|解法が思いつくかも

Python

基本

PythonでAtCoderを始めるためのチートシート(入力編)|Pythonで競プロ初心者向け

AtCoder向けpythonチートシート(その2)|Pythonで競プロを始める人向け

Pythonで文字列を分割・結合する方法(split, split, join)【Python入門】

キュー・再帰などでの注意点

AtCoderの問題をPythonで解いてハマったこと(キュー処理、再帰処理等)

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

UnionFind

PythonでUnionFind(DSU)を実装

行列累乗

Pythonで行列の累乗を実装する

MOD付き組み合わせ数 nCk

PythonでMOD付きの組み合わせ(nCk)を求める

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

Pythonで点と線分との最短距離を求めるコードを書く

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

Pythonで深さ優先探索(DFS),幅優先探索(BFS), 優先キューを使ったダイクストラ法を実装

式変形して解く

X^0 + X^1 + X^2 + … + X^n(Σx^k)を解く

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

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

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

両端から幅優先探索(BSF)って演算量を削減する|高速化の手法

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

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

モンテカルロ法

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

ビットカウント

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

Go言語

基本

Go言語入門|プログラミングに必須な知識を一気に解説

Go言語でAtCoderに参加する場合の注意点|テンプレートも公開

Go言語のジェネリクス(Generics)の基本的な使い方|Queue, Setを実装してみた

Go言語のチャネルのまとめ|ゴルーチン間でデータのやり取りをする方法

キューなどの実装方法

Go言語でAtCoder|Stack, Queue, Priority Queueの書き方

MOD付き演算

Go言語でmod計算をするライブラリ for AtCoder

64bitを超える整数を扱う

Go言語で64bitを超えるの多倍長整数を使う方法【big.Int】

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

最大公約数(GCD)

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

UnionFind

Go言語でUnionFind(DSU)を実装

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

Go言語で順列列挙(NextPermutation)、組み合わせ列挙(Combinations)を実装

図形(線分の交差判定)

Go言語で2つの線分の交差判定

自作ジェネレータで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/

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

Go言語で乱数のシードを設定する方法|rand.Seedは非推奨

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

記事URLをコピーしました