AtCoderで役立つ記事一覧(Python, Go言語)
主にAtCoderに関連したPython, Go言語の記事の一覧です。初心者向けのチートシートなどもありますので参考にしてください(言語に関連する記事も「基本」に入れています)
一般
考え方
AtCoderの問題に詰まったら眺める記事|解法が思いつくかも
Python
基本
PythonでAtCoderを始めるためのチートシート(入力編)|Pythonで競プロ初心者向け
AtCoder向けpythonチートシート(その2)|Pythonで競プロを始める人向け
Pythonで文字列を分割・結合する方法(split, split, join)【Python入門】
キュー・再帰などでの注意点
AtCoderの問題をPythonで解いてハマったこと(キュー処理、再帰処理等)
色々なアルゴリズムの実装
UnionFind
行列累乗
MOD付き組み合わせ数 nCk
図形(線分と点の最短距離)
グラフ(DFS,BSF、ダイクストラ法)
Pythonで深さ優先探索(DFS),幅優先探索(BFS), 優先キューを使ったダイクストラ法を実装
式変形して解く
X^0 + X^1 + X^2 + … + X^n(Σx^k)を解く
部分文字列の一致を調べる(文字列の更新付き)
【Python】ローリングハッシュをセグメント木に載せる|部分文字列の一致を高速にチェック
始点と終点の双方から幅優先探索を行う(演算量削減)
両端から幅優先探索(BSF)って演算量を削減する|高速化の手法
拡張ユークリッドの互除法の応用例
拡張ユークリッドの互除法の応用例を解説【Python/Go】
モンテカルロ法
3000万の資産で何年暮らせるかを、モンテカルロ法で求めてみる【Python】
ビットカウント
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)
UnionFind
順列列挙と組み合わせ列挙
Go言語で順列列挙(NextPermutation)、組み合わせ列挙(Combinations)を実装
図形(線分の交差判定)
自作ジェネレータで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/