競プロ用ライブラリ / AOJ の「コース」提出コード
更新日 : 2020-03-02
はじめに
この記事は、競技プログラミング用ライブラリ、そして Aizu Online Judge (AOJ) の「コース」で提出したコードを一覧にしています。
GitHub で公開している、
の README.md をそのまま載せています。
ここで公開しているコードは、競技プログラミングで使用することを想定しています。
そのため、一般的に奨励されない記述が含まれていることをご了承下さい。
まだまだ未熟者ですので、いろいろと目につくところがあるかもしれません (保険)。
目次
- はじめに
- 目次
- 競プロ用ライブラリ
- AOJ アルゴリズムとデータ構造入門 (ALDS1)
- AOJ プログラミング応用 (ITP2)
- AOJ データの集合とクエリ処理 (DSL)
- AOJ 組み合わせ最適化 (DPL)
- AOJ グラフ (GRL)
- AOJ 整数論 (NTL)
競プロ用ライブラリ
整数
- 素数判定
- エラトステネスのふるい
- 蟻本 素数の個数
- 蟻本 区間内の素数の個数 (区間ふるい)
- 素因数分解
- 最大公約数 (GCD)
- 最小公倍数 (LCM)
- 二項係数
- ABC 034 C - 経路 (フェルマーの小定理を利用して逆元を計算)
- ABC 156 D - Bouquet (n は巨大でも k は小さい)
探索
AOJ アルゴリズムとデータ構造入門 (ALDS1)
AOJ アルゴリズムとデータ構造入門 (ALDS1) の提出コードです。
- 入門
- 初等的ソート
- 基本データ構造
- 探索
- 分割統治法
- ソート
- A : Counting Sort
- B : Partition
- C : Quick Sort
- D : Minimum Cost Sort
- 木構造
- 二分探索木
- ヒープ
- 動的計画法
- A : Fibonacci Number
- B : Matrix Chain Multiplication
- C : Longest Common Subsequence
- D : Optimal Binary Search Tree
- グラフI
- グラフII
- ヒューリスティック探索
- A : 8 Queens Problem
- B : 8 Puzzle
- C : 15 Puzzle
- 文字列検索
- A : Naive String Search
- B : String Search
- C : Pattern Search
- D : Multiple String Matching
- 貪欲アルゴリズム
AOJ プログラミング応用 (ITP2)
AOJ プログラミング応用 (ITP2) の提出コードです。
- 動的配列とリスト
- 基本データ構造
- 列に対する操作
- 列に対する変更
- 順列
- 二分探索
- 集合
- 辞書
- 集合演算
- ビットセットI
- ビットセットII
AOJ データの集合とクエリ処理 (DSL)
AOJ データの集合とクエリ処理 (DSL) の提出コードです。
- 集合
- 区間クエリ
- スライディングウィンドウ
- 座標圧縮
- A : Union of Rectangles
- 累積和
AOJ 組み合わせ最適化 (DPL)
AOJ 組み合わせ最適化 (DPL) の提出コードです。
- 組み合わせ
- 順列
- A : Traveling Salesman Problem
- B : Chinese Postman Problem
- C : Bitonic Traveling Salesman Problem
- パターン
- 数え上げ
- 写像12相
AOJ グラフ (GRL)
AOJ グラフ (GRL) の提出コードです。
- 最短経路
- 全域木
- A : Minimum Spanning Tree (Prim)
- A : Minimum Spanning Tree (Kruskal)
- B : Minimum-Cost Arborescence
- 連結成分
- サイクル
- 木
- A : Diameter of a Tree
- B : Height of a Tree
- C : Lowest Common Ancestor (Doubling)
- C : Lowest Common Ancestor (Euler Tour)
- D : Range Query on a Tree
- E : Range Query on a Tree II
- ネットワークフロー
- A : Maximum Flow
- B : Minimum Cost Flow
- マッチング
AOJ 整数論 (NTL)
AOJ 整数論 (NTL) の提出コードです。