Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fumtas1k/kyopro-tessoku

競技プログラミングの鉄則の解答
https://github.com/fumtas1k/kyopro-tessoku

algorithms gradle java junit5 kotlin rspec ruby

Last synced: 10 days ago
JSON representation

競技プログラミングの鉄則の解答

Awesome Lists containing this project

README

        

# [競技プログラミングの鉄則](https://atcoder.jp/contests/tessoku-book)

## 各論

| 問題(例) | アルゴリズム等 | ruby | java | kotlin | JS |
| - | - | - | - | - | - |
| [A01](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_a) | | | | | [JS](javascript/A01.js) |
| [A02](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_b) | | | | | [JS](javascript/A02.js) |
| [A03](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_c) | | | | | [JS](javascript/A03.js) |
| [A04](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_d) | 2進法 | | | | [JS](javascript/A04.js) |
| [A05](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_e) | | | | | [JS](javascript/A05.js) |
| [A06](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_f) | 累積和 | | | | [JS](javascript/A06.js) |
| [A07](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_g) | いもす法 | | | | [JS](javascript/A07.js) |
| [B07](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_al) | いもす法 | [ruby](ruby/B07.rb) | | | |
| [A08](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_h) | 二次元累積和 | [ruby](ruby/A08.rb) | | | |
| [A09](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_i) | 二次元いもす法 | [ruby](ruby/A09.rb) | | | |
| [B09](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ch) | 二次元いもす法 | [ruby](ruby/B09.rb) | | | |
| [A10](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_j) | 累積和 | [ruby](ruby/A10.rb) | | | |
| [A11](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_k) | 二分探索法(配列) | [ruby](ruby/A11.rb) | | | [JS](javascript/A11.js) |
| [B11](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cj) | 二分探索法(配列) | [ruby](ruby/B11.rb) | | | |
| [A12](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_l) | 二分探索法(答え) | [ruby](ruby/A12.rb) | | | [JS](javascript/A12.js) |
| [B12](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ck) | 二分探索法(答え) | [ruby](ruby/B12.rb) | | | |
| [A13](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_m) | しゃくとり法 | [ruby](ruby/A13.rb) | | | |
| [B13](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cl) | しゃくとり法 | [ruby](ruby/B13.rb) | | | |
| [A14](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_n) | 二分探索法, 半分全列挙 | [ruby](ruby/A14.rb) | | | |
| [B14](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cm) | 二分探索法, 半分全列挙, BIT全探索, 深さ優先探索 | [ruby1](ruby/B14-1.rb), [ruby2](ruby/B14-2.rb) | | | [JS](javascript/B14.js) |
| [A15](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_o) | 座標圧縮 | [ruby](ruby/A15.rb) | | | |
| [A16](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_p) | 動的計画法 | [ruby](ruby/A16.rb) | | | |
| [B16](https://atcoder.jp/contests/tessoku-book/tasks/dp_a) | 動的計画法 | [ruby](ruby/B16.rb) | | | |
| [A17](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_q) | 動的計画法, DP復元 | [ruby](ruby/A17.rb) | | | |
| [B17](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cp) | 動的計画法, DP復元 | [ruby](ruby/B17.rb) | | | |
| [A18](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_r) | 動的計画法, 部分和問題 | [ruby](ruby/A18.rb) | | | |
| [B18](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cq) | 動的計画法, DP復元, 部分和問題 | [ruby](ruby/B18.rb) | | | |
| [A19](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_s) | 動的計画法, ナップザック問題 | [ruby](ruby/A19.rb) | | | |
| [B19](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cr) | 動的計画法, ナップザック問題 | [ruby](ruby/B19.rb) | | | |
| [A20](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_t) | 動的計画法, 最長共通部分列 | [ruby](ruby/A20.rb) | | | |
| [B20](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cs) | 動的計画法, 最長共通部分列 | [ruby](ruby/B20.rb) | | | |
| [A21](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_u) | 動的計画法, 区間DP | [ruby1](ruby/A21-1.rb), [ruby2](ruby/A21-2.rb) | | | [JS](javascript/A21.js) |
| [B21](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ct) | 動的計画法, 区間DP | [ruby](ruby/B21.rb) | | | [JS](javascript/B21.js) |
| [A23](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_w) | 動的計画法, bitDP | [ruby](ruby/A23.rb) | | | |
| [B23](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cv) | 動的計画法, bitDP | [ruby](ruby/B23.rb) | | | |
| [A24](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_x) | 動的計画法, 二分探索法, 最長増加部分列, LIS | [ruby](ruby/A24.rb) | | | |
| [B24](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cw) | 動的計画法, 二分探索法, セグメント木, 最長増加部分列, LIS | [ruby](ruby/B24-1.rb), [ruby](ruby/B24-2.rb) | | | |
| [A25](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_y) | 動的計画法, Number of Routes | [ruby](ruby/A25.rb) | | | |
| [A26](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_z) | 素数判定 | [ruby1](ruby/A26-01.rb), [ruby2](ruby/A26-02.rb) | | | |
| [B26](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cy) | 素数判定 | [ruby](ruby/B26.rb) | | | |
| [B27](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_cz) | 最小公倍数 | [ruby](ruby/B27.rb) | | | |
| [B28](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_ap) | フィボナッチ数列 | [ruby](ruby/B28.rb) | | | |
| [A29](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_aq) | 冪乗 | [ruby](ruby/A29.rb) | | | |
| [B29](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_db) | 冪乗 | [ruby](ruby/B29.rb) | | | |
| [A30](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ad) | フェルマーの小定理 | [ruby](ruby/A30.rb) | | | |
| [B30](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dc) | フェルマーの小定理 | [ruby](ruby/B30.rb) | | | |
| [A32](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_af) | 動的計画法, 石取り | [ruby](ruby/A32.rb) | | | |
| [B32](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_de) | 動的計画法, 石取り | [ruby](ruby/B32.rb) | | | |
| [A33](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ag) | ニム | [ruby](ruby/A33.rb) | | | |
| [B33](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_df) | ニム | [ruby](ruby/B33.rb) | | | |
| [A34](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ah) | grundy数 | [ruby](ruby/A34.rb) | | | |
| [B34](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dg) | grundy数 | [ruby](ruby/B34.rb) | | | |
| [A37](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ak) | 足される回数 | [ruby](ruby/A37.rb) | | | |
| [A38](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_al) | 上限値 | [ruby](ruby/A38.rb) | | | |
| [A39](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_bn) | 貪欲法 | [ruby](ruby/A39.rb) | | | |
| [B39](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_dl) | 貪欲法, 優先度付キュー | [ruby1](ruby/B39-1.rb), [ruby2](ruby/B39-2.rb) | | | |
| [A40](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_an) | 個数を考える | [ruby](ruby/A40.rb) | | | |
| [B40](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dm) | 個数を考える | [ruby](ruby/B40.rb) | | | |
| [A41](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ao) | 後ろから考える | [ruby](ruby/A41.rb) | | | |
| [B41](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dn) | 後ろから考える | [ruby](ruby/B41.rb) | | | |
| [A42](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ap) | 固定(下限値)した全探索 | [ruby](ruby/A42.rb) | | | |
| [B42](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_do) | 固定(下限値)した全探索 | [ruby](ruby/B42.rb) | | | |
| [A43](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_aq) | 問題を言い換える | [ruby](ruby/A43.rb) | | | |
| [A44](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ar) | データの持ち方を工夫する | [ruby](ruby/A44.rb) | | | |
| [A45](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_as) | 不変量に着目する | [ruby](ruby/A45.rb) | | | |
| [B45](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dr) | 不変量に着目する | [ruby](ruby/B45.rb) | | | |
| [A46](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_at) | Heuristic, 貪欲法 | [ruby](ruby/A46.rb) | | | |
| [A47](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_at) | Heuristic, 局所探索法 | [ruby](ruby/A47.rb) | | | |
| [A48](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_at) | Heuristic, 焼きなまし法 | [ruby](ruby/A48.rb) | | | |
| [A49](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_aw) | Heuristic, ビームサーチ | [ruby](ruby/A49.rb) | | | |
| [B51](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_dx) | スタック | [ruby](ruby/B51.rb) | | | |
| [A56](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bd) | ハッシュ | [ruby](ruby/A56.rb) | | | |
| [A57](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_be) | ダブリング | [ruby](ruby/A57.rb) | | | |
| [B57](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ed) | ダブリング | [ruby](ruby/B57.rb) | | | |
| [A58](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bf) | セグメント木(RMQ) | [ruby1](ruby/A58-01.rb), [ruby2](ruby/A58-02.rb) | | [kotlin](src/main/kotlin/ktln/A58.kt) | [JS](javascript/A58.js) |
| [B58](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ee) | セグメント木(RMQ) | [ruby](ruby/B58.rb) | | | |
| [A59](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bg) | セグメント木(RSQ) | [ruby1](ruby/A59-01.rb), [ruby2](ruby/A59-02.rb) | | | |
| [B59](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ef) | セグメント木(RSQ) | [ruby](ruby/B59.rb) | | | |
| [A60](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bh) | スタック | [ruby](ruby/A60.rb) | | | |
| [A61](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bi) | グラフ | [ruby](ruby/A61.rb) | | | |
| [A62](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_am) | 深さ優先探索(DFS) | [ruby](ruby/A62.rb) | | | |
| [B62](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_ei) | 深さ優先探索(DFS) | [ruby](ruby/B62.rb) | | | |
| [A63](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_an) | 幅優先探索(BFS) | [ruby](ruby/A63.rb) | | | |
| [B63](https://atcoder.jp/contests/tessoku-book/tasks/math_and_algorithm_ej) | 幅優先探索(BFS) | [ruby](ruby/B63.rb) | | | |
| [A64](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bl) | ダイクストラ法 | [ruby](ruby/A64.rb) | | | [JS](javascript/A64.js) |
| [B64](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ek) | ダイクストラ法 | [ruby](ruby/B64.rb) | | | |
| [A65](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bm) | 木に対する動的計画法, 深さ優先探索(DFS) | [ruby1](ruby/A65-01.rb), [ruby2](ruby/A65-02.rb) | | |
| [B66](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_em) | UNION FIND | [ruby](ruby/B66.rb) | | | [JS](javascript/B66.js) |
| [A67](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bo) | 最小全域木, クラスカル法 | [ruby](ruby/A67.rb) | | [kotlin](src/main/kotlin/ktln/A67.kt) | |
| [B67](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_en) | 最小全域木, クラスカル法 | [ruby](ruby/B67.rb) | | | |
| [A68](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bp) | 最大流量, Ford-Fulkerson法 | [ruby](ruby/A68.rb) | | [kotlin](src/main/kotlin/ktln/A68.kt) | |
| [A69](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bq) | 二部マッチング, Ford-Fulkerson法 | [ruby](ruby/A69.rb) | | | |
| [A72](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bt) | bit全探索 | [ruby](ruby/A72.rb) | | | |
| [A73](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bu) | ダイクストラ法, わずかなボーナス | [ruby](ruby/A73.rb) | | | |
| [A74](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bv) | 分解して考える | [ruby](ruby/A74.rb) | | | |
| [A75](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bw) | 貪欲法, 動的計画法 | [ruby](ruby/A75.rb) | | | |
| [A77](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_bw) | 貪欲法, 二分探索法 | [ruby](ruby/A77.rb) | | | |
| [C01](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ey) | | [ruby](ruby/C01.rb) | | | |
| [C02](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ez) | | [ruby](ruby/C02.rb) | | | |
| [C03](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fa) | 累積和 | [ruby](ruby/C03.rb) | | | |
| [C04](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fb) | | [ruby](ruby/C04.rb) | | | |
| [C05](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fc) | 進数 | [ruby](ruby/C05.rb) | | | |
| [C06](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fd) | | [ruby](ruby/C06.rb) | | | |
| [C07](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fe) | 累積和 | [ruby](ruby/C07.rb) | | | |
| [C08](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_ff) | 全探索 | [ruby](ruby/C08.rb) | | | |
| [C09](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fg) | 動的計画法 | [ruby](ruby/C09.rb) | | | |
| [C10](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fh) | | [ruby](ruby/C10.rb) | | | |
| [C11](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fi) | | [ruby](ruby/C11.rb) | | | |
| [C12](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fj) | 動的計画法 | [ruby](ruby/C12.rb) | | | |
| [C13](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fk) | 動的計画法 | [ruby](ruby/C13.rb) | | | |
| [C14](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fl) | ダイクストラ法 | [ruby](ruby/C14.rb) | | | |
| [C15](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fm) | | [ruby](ruby/C15.rb) | | | |
| [C18](https://atcoder.jp/contests/tessoku-book/tasks/typical90_s) | 区間DP | [ruby](ruby/C18.rb) | | | |
| [C19](https://atcoder.jp/contests/tessoku-book/tasks/tessoku_book_fq) | セグメント木 | [ruby](ruby/C19.rb) | | | |

## ライブラリ

| アルゴリズム名 | クラス名 | ruby | java | kotlin | JS |
| - | - | - | - | - | - |
| セグメント木 | SegmentTree | [ruby再帰](ruby/lib/segment_tree_r.rb), [ruby非再帰](ruby/lib/segtree.rb) | | [kotlin再帰](src/main/kotlin/ktln/lib/SegmentTreeR.kt), [kotlin非再帰](src/main/kotlin/ktln/lib/SegmentTreeW.kt) | [JS](javascript/lib/segment_tree.js) |
| 素集合データ構造 | UnionFind | [ruby](ruby/lib/union_find.rb) | [java](src/main/java/jv/lib/UnionFind.java) | [kotlin](src/main/kotlin/ktln/lib/UnionFind.kt) | |
| 素集合データ構造 | DSU | [ruby](ruby/lib/dsu.rb) | | [kotlin](src/main/kotlin/ktln/lib/DSU.kt) | [JS](javascript/lib/dsu.js) |
| ヒープ | MinHeap | [ruby](ruby/lib/min_heap.rb) | | | |
| 優先度付キュー | PriorityQueue | [ruby](ruby/lib/priority_queue.rb) | | | [JS](javascript/lib/priority_queue.js) |
| 最大流量 | MaxFlow | [ruby](ruby/lib/max_flow.rb) | | [kotlin](src/main/kotlin/ktln/lib/MaxFlow.kt) | |
| フェニック木 | FenwickTree | [ruby](ruby/lib/fenwick_tree.rb) | | [kotlin](src/main/kotlin/ktln/lib/FenwickTree.kt) | |
| 強連結成分 | SCC | [ruby](ruby/lib/scc.rb) | | | |
| スライド最大値・最小値 | SlidingWindow | [ruby](ruby/lib/sliding_window.rb) | | | |
| トライ木 | Trie | [ruby](ruby/lib/trie.rb) | | | |
| manacher | manacher | [ruby](ruby/lib/manacher.rb) | | | |
| Zアルゴリズム | z_algorithm | [ruby](ruby/lib/z_algorithm.rb) | | | |
| 最近共通祖先 | LCA | [ruby](ruby/lib/lca.rb) | | | |