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

https://github.com/fumtas1k/atcoder_selected_100

Atcoder 初中級者が解くべき過去問精選100問 | Educational DP
https://github.com/fumtas1k/atcoder_selected_100

atcoder kotlin ruby

Last synced: over 1 year ago
JSON representation

Atcoder 初中級者が解くべき過去問精選100問 | Educational DP

Awesome Lists containing this project

README

          

[![fumta](https://img.shields.io/endpoint?url=https%3A%2F%2Fatcoder-badges.now.sh%2Fapi%2Fatcoder%2Fjson%2Ffumta)](https://atcoder.jp/users/fumta)

# Atcoder トレーニング

## [Atcoder 初中級者が解くべき過去問精選100問](https://qiita.com/e869120/items/eb50fdaece12be418faa#2-3-%E5%88%86%E9%87%8E%E5%88%A5%E5%88%9D%E4%B8%AD%E7%B4%9A%E8%80%85%E3%81%8C%E8%A7%A3%E3%81%8F%E3%81%B9%E3%81%8D%E9%81%8E%E5%8E%BB%E5%95%8F%E7%B2%BE%E9%81%B8-100-%E5%95%8F)

| No | contest/problem | category | remark | ans |
|----|-----------------|----------|--------|-----|
| 1 | [ITP1-7/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_B&lang=ja) | 全探索:全列挙 | | [ruby](atcoder_selected_100/ruby/itp1_7_b.rb), [kotlin](atcoder_selected_100/kotlin/itp1_7_b.kt) |
| 2 | [ABC106/B](https://atcoder.jp/contests/abc106/tasks/abc106_b) | 全探索:全列挙 | | [ruby](atcoder_selected_100/ruby/abc106_b.rb), [kotlin](atcoder_selected_100/kotlin/abc106_b.rb) |
| 3 | [ABC122/B](https://atcoder.jp/contests/abc122/tasks/abc122_b) | 全探索:全列挙 | 尺取法 | [ruby](atcoder_selected_100/ruby/abc122_b.rb), [kotlin](atcoder_selected_100/kotlin/abc122_b.kt) |
| - | [ABC355/D](https://atcoder.jp/contests/abc355/tasks/abc355_d) | 全探索:全列挙 | 尺取法, 余事象 | [ruby](atcoder_selected_100/ruby/abc355_d.rb) |
| - | [ABC366/E](https://atcoder.jp/contests/abc366/tasks/abc366_e) | 全探索:全列挙 | 尺取法, マンハッタン距離 | [ruby](atcoder_selected_100/ruby/abc366_e.rb) |
| - | [ABC229/D](https://atcoder.jp/contests/abc229/tasks/abc229_d) | 全探索:全列挙 | 尺取法, 累積和 | [ruby](atcoder_selected_100/ruby/abc229_d.rb) |
| - | [ABC377/D](https://atcoder.jp/contests/abc377/tasks/abc377_d) | 全探索:全列挙 | 尺取法 | [ruby](atcoder_selected_100/ruby/abc377_d.rb) |
| - | [ABC381/D](https://atcoder.jp/contests/abc381/tasks/abc381_d) | 全探索:全列挙 | 尺取法 | [ruby](atcoder_selected_100/ruby/abc381_d.rb) |
| - | [ABC383/D](https://atcoder.jp/contests/abc383/tasks/abc383_d) | 全探索:全列挙 | 尺取法, 素数, 約数列挙, エラトステネスの篩 | [ruby](atcoder_selected_100/ruby/abc383_d.rb) |
| - | [ABC384/D](https://atcoder.jp/contests/abc384/tasks/abc384_d) | 全探索:全列挙 | 尺取法, 累積和, ループ | [ruby](atcoder_selected_100/ruby/abc384_d.rb) |
| 4 | [PAKENCAMP-2019-DAY3/C](https://atcoder.jp/contests/pakencamp-2019-day3/tasks/pakencamp_2019_day3_c) | 全探索:全列挙 | | [ruby](atcoder_selected_100/ruby/pakencamp-2019-day3_c.rb) |
| - | [ABC390/D](https://atcoder.jp/contests/abc390/tasks/abc390_d) | 全探索:全列挙 | ベル数, 深さ優先探索 | [ruby](atcoder_selected_100/ruby/abc390_d.rb) |
| 5 | [ABC095/C](https://atcoder.jp/contests/abc095/tasks/arc096_a) | 全探索:工夫して通り数を減らす全列挙 | | [ruby](atcoder_selected_100/ruby/abc095_c.rb) |
| 6 | [SUMITRUST2019/D](https://atcoder.jp/contests/sumitrust2019/tasks/sumitb2019_d) | 全探索:工夫して通り数を減らす全列挙 | | [ruby1](atcoder_selected_100/ruby/sumitrust2019_d_01.rb), [ruby2](atcoder_selected_100/ruby/sumitrust2019_d_02.rb) |
| 8 | [S8PC-6/B](https://atcoder.jp/contests/s8pc-6/tasks/s8pc_6_b) | 全探索:工夫して通り数を減らす全列挙 | | [ruby](atcoder_selected_100/ruby/s8pc-6_b.rb) |
| 9 | [JOI2008YO/D](https://atcoder.jp/contests/joi2008yo/tasks/joi2008yo_d) | 全探索:工夫して通り数を減らす全列挙 | | [ruby](atcoder_selected_100/ruby/joi2008yo_d.rb) |
| 10 | [ALDS1-5/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_5_A&lang=ja) | 全探索:ビット全探索 | | [ruby](atcoder_selected_100/ruby/alds1_5_a.rb) |
| 11 | [ABC128/C](https://atcoder.jp/contests/abc128/tasks/abc128_c) | 全探索:ビット全探索 | | [ruby](atcoder_selected_100/ruby/abc128_c.rb) |
| 12 | [ABC002/D](https://atcoder.jp/contests/abc002/tasks/abc002_4) | 全探索:ビット全探索 | | [ruby](atcoder_selected_100/ruby/abc002_d.rb) |
| 13 | [JOI2008YO/E](https://atcoder.jp/contests/joi2008yo/tasks/joi2008yo_e) | 全探索:ビット全探索 | | [ruby](atcoder_selected_100/ruby/joi2008yo_e.rb) |
| 14 | [S8PC4/B](https://atcoder.jp/contests/s8pc-4/tasks/s8pc_4_b) | 全探索:ビット全探索 | | [ruby](atcoder_selected_100/ruby/s8pc_4_b.rb) |
| - | [ABC354/E](https://atcoder.jp/contests/abc354/tasks/abc354_e) | 全探索:ビット全探索 | 後ろから考える | [ruby](atcoder_selected_100/ruby/abc354_e.rb) |
| - | [ABC356/C](https://atcoder.jp/contests/abc356/tasks/abc356_c) | 全探索:ビット全探索 | | [ruby](atcoder_selected_100/ruby/abc356_c.rb) |
| - | [ABC359/D](https://atcoder.jp/contests/abc359/tasks/abc359_d) | 全探索:ビット全探索系 | | [ruby](atcoder_selected_100/ruby/abc359_d.rb) |
| 15 | [ABC145/C](https://atcoder.jp/contests/abc145/tasks/abc145_c) | 全探索:順列全探索 | | [ruby](atcoder_selected_100/ruby/abc145_c.rb) |
| 16 | [ABC150/C](https://atcoder.jp/contests/abc150/tasks/abc150_c) | 全探索:順列全探索 | | [ruby](atcoder_selected_100/ruby/abc150_c.rb) |
| 17 | [SLDS1-13/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_13_A&lang=ja) | 全探索:順列全探索 | バックトラック法 | [ruby](atcoder_selected_100/ruby/alds1_13_a.rb) |
| 18 | [ALDS1-4/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_4_B&lang=ja) | 二分探索 | | [ruby](atcoder_selected_100/ruby/alds1_4_b.rb) |
| 19 | [JOI2009HO/B](https://atcoder.jp/contests/joi2009ho/tasks/joi2009ho_b) | 二分探索 | | [ruby](atcoder_selected_100/ruby/joi2009ho_b.rb) |
| 20 | [ABC077/C](https://atcoder.jp/contests/abc077/tasks/arc084_a) | 二分探索 | | [ruby](atcoder_selected_100/ruby/abc077_c.rb) |
| 21 | [ABC023/D](https://atcoder.jp/contests/abc023/tasks/abc023_d) | 二分探索 | | [ruby](atcoder_selected_100/ruby/abc023_d.rb) |
| 23 | [JOI2008HO/C](https://atcoder.jp/contests/joi2008ho/tasks/joi2008ho_c) | 二分探索 | | [ruby](atcoder_selected_100/ruby/joi2008ho_c.rb) |
| - | [ABC397/D](https://atcoder.jp/contests/abc397/tasks/abc397_d) | 二分探索 | | [ruby](atcoder_selected_100/ruby/abc397_d.rb) |
| - | [C - Come Together](https://atcoder.jp/contests/nikkei2019-final/tasks/nikkei2019_final_c) | 二分探索 | マンハッタン距離の総和を最小値は、中央値を使う | [ruby](atcoder_selected_100/ruby/nikkei2019_final_c.rb) |
| - | [ABC364/D](https://atcoder.jp/contests/abc364/tasks/abc364_d) | 二分探索 | さらに二分探索 | [ruby](atcoder_selected_100/ruby/abc364_d.rb) |
| - | [ABC217/D](https://atcoder.jp/contests/abc217/tasks/abc217_d) | 二分探索 | sorted_setの代わり, セグメント木, unshift | [ruby1](atcoder_selected_100/ruby/abc217_d_1.rb), [ruby2](atcoder_selected_100/ruby/abc217_d_2.rb) |
| - | [ABC364/E](https://atcoder.jp/contests/abc388/tasks/abc388_e) | 二分探索 | 決め打ち二分探索 | [ruby](atcoder_selected_100/ruby/abc388_e.rb) |
| - | [ABC267/E](https://atcoder.jp/contests/abc267/tasks/abc267_e) | 二分探索 | 決め打ち二分探索, 最小値の最大化 | [ruby](atcoder_selected_100/ruby/abc267_e.rb) |
| - | [ABC364/E](https://atcoder.jp/contests/abc374/tasks/abc374_e) | 二分探索 | 決め打ち二分探索, 最小値の最大化 | [ruby](atcoder_selected_100/ruby/abc374_e.rb) |
| - | [ABC389/E](https://atcoder.jp/contests/abc389/tasks/abc389_e) | 二分探索 | 決め打ち二分探索, 最小値の最大化 | [ruby](atcoder_selected_100/ruby/abc389_e.rb) |
| - | [ABC390/E](https://atcoder.jp/contests/abc390/tasks/abc390_e) | 二分探索 | 決め打ち二分探索, 最小値の最大化 | [ruby](atcoder_selected_100/ruby/abc390_e.rb) |
| - | [ABC270/E](https://atcoder.jp/contests/abc270/tasks/abc270_e) | 二分探索 | 決め打ち二分探索 | [ruby](atcoder_selected_100/ruby/abc270_e.rb) |
| 24 | [ALDS1-11/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_11_B&lang=ja) | 深さ優先探索 | | [ruby](atcoder_selected_100/ruby/alds1_11_b.rb) |
| 25 | [1160](https://onlinejudge.u-aizu.ac.jp/problems/1160) | 深さ優先探索 | | [ruby](atcoder_selected_100/ruby/1160.rb) |
| 26 | [ABC138/D](https://atcoder.jp/contests/abc138/tasks/abc138_d) | 深さ優先探索 | | [ruby](atcoder_selected_100/ruby/abc138_d.rb) |
| 27 | [JOI2009YO/D](https://atcoder.jp/contests/joi2009yo/tasks/joi2009yo_d) | 深さ優先探索 | | [ruby](atcoder_selected_100/ruby/joi2009yo_d.rb) |
| - | [ABC311/C](https://atcoder.jp/contests/abc311/tasks/abc311_c) | 深さ優先探索, 閉路 | | [ruby](atcoder_selected_100/ruby/abc311_c.rb) |
| - | [ABC282/D](https://atcoder.jp/contests/abc282/tasks/abc282_d) | 深さ優先探索, 二部グラフ, 余事象 | | [ruby](atcoder_selected_100/ruby/abc282_d.rb) |
| - | [ABC398/E](https://atcoder.jp/contests/abc398/tasks/abc398_e) | 深さ優先探索, 二部グラフ | 奇閉路がない | [ruby](atcoder_selected_100/ruby/abc398_e.rb) |
| - | [ABC348/E](https://atcoder.jp/contests/abc348/tasks/abc348_e) | 深さ優先探索, 木の重心 | | [ruby](atcoder_selected_100/ruby/abc348_e.rb) |
| - | [ABC350/F](https://atcoder.jp/contests/abc350/tasks/abc350_f) | 深さ優先探索 | | [ruby](atcoder_selected_100/ruby/abc350_f.rb) |
| - | [ABC357/C](https://atcoder.jp/contests/abc357/tasks/abc357_c) | 深さ優先探索 | 3進法 | [ruby](atcoder_selected_100/ruby/abc357_c.rb) |
| - | [ABC213/D](https://atcoder.jp/contests/abc213/tasks/abc213_d) | 深さ優先探索 | オイラーツアー | [ruby](atcoder_selected_100/ruby/abc213_d.rb) |
| - | [ABC239/E](https://atcoder.jp/contests/abc239/tasks/abc239_e) | 深さ優先探索 | オイラーツアー, 必要数分のみ保持 | [ruby](atcoder_selected_100/ruby/abc239_e.rb) |
| - | [ABC220/F](https://atcoder.jp/contests/abc220/tasks/abc220_f) | 深さ優先探索 | オイラーツアー, 幅優先探索, 始点の移動 | [ruby](atcoder_selected_100/ruby/abc220_f.rb) |
| - | [ABC382/D](https://atcoder.jp/contests/abc382/tasks/abc382_d) | 深さ優先探索 | 枝切り | [ruby](atcoder_selected_100/ruby/abc382_d.rb) |
| 28 | [ALDS1-11/C](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_11_C&lang=ja) | 幅優先探索 | | [ruby](atcoder_selected_100/ruby/alds1_11_c.rb) |
| 29 | [ABC007/C](https://atcoder.jp/contests/abc007/tasks/abc007_3) | 幅優先探索 | | [ruby](atcoder_selected_100/ruby/abc007_c.rb) |
| 30 | [JOI2011YO/E](https://atcoder.jp/contests/joi2011yo/tasks/joi2011yo_e) | 幅優先探索 | | [ruby](atcoder_selected_100/ruby/joi2011yo_e.rb) |
| - | [ABC213/E](https://atcoder.jp/contests/abc213/tasks/abc213_e) | 幅優先探索 | 01-BFS | [ruby](atcoder_selected_100/ruby/abc213_e.rb) |
| - | [ABC386/C](https://atcoder.jp/contests/abc387/tasks/abc387_d) | 幅優先探索 |パリティ, 状態管理 | [ruby](atcoder_selected_100/ruby/abc387_d.rb) |
| 33 | [ABC088/D](https://atcoder.jp/contests/abc088/tasks/abc088_d) | 幅優先探索 | | [ruby](atcoder_selected_100/ruby/abc088_d.rb) |
| 34 | [ALDS1-10/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_10_A&lang=ja) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/alds1_10_a.rb) |
| 35 | [DPL-1/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_1_B&lang=ja) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/dpl_1_b.rb) |
| 36 | [DPL-1/C](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_1_C&lang=ja) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/dpl_1_c.rb) |
| 37 | [DPL-1/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_1_A&lang=ja) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/dpl_1_a.rb) |
| 38 | [ALDS1-10/C](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_10_C&lang=ja) | 動的計画法:ナップサックDP | 最長共通部分列(LCS) | [ruby](atcoder_selected_100/ruby/alds1_10_c.rb) |
| 39 | [JOI2011YO/D](https://atcoder.jp/contests/joi2011yo/tasks/joi2011yo_d) | 動的計画法:ナップサック | | [ruby](atcoder_selected_100/ruby/joi2011yo_d.rb) |
| 40 | [JOI2012YO/D](https://atcoder.jp/contests/joi2012yo/tasks/joi2012yo_d) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/joi2012yo_d.rb) |
| 41 | [JOI2013YO/D](https://atcoder.jp/contests/joi2013yo/tasks/joi2013yo_d) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/joi2013yo_d.rb) |
| 42 | [JOI2015YO/D](https://atcoder.jp/contests/joi2015yo/tasks/joi2015yo_d) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/joi2015yo_d.rb) |
| 43 | [PAKENCAMP2019DAY3/D](https://atcoder.jp/contests/pakencamp-2019-day3/tasks/pakencamp_2019_day3_d) | 動的計画法:ナップサックDP | | [ruby](atcoder_selected_100/ruby/pakencamp_2019_day3_d.rb) |
| - | [ABC364/E](https://atcoder.jp/contests/abc364/tasks/abc364_e) | 動的計画法:ナップサックDP | キーと値を入れ替える | [ruby](atcoder_selected_100/ruby/abc364_e.rb) |
| - | [DPL-1/G](https://onlinejudge.u-aizu.ac.jp/courses/library/7/DPL/1/DPL_1_G) | 動的計画法:ナップサックDP | 個数制限付きナップサックDP | [ruby](atcoder_selected_100/ruby/dpl_1_g.rb), [kotlin](atcoder_selected_100/kotlin/dpl_1_g.kt) |
| - | [DPL-1/I](https://onlinejudge.u-aizu.ac.jp/courses/library/7/DPL/1/DPL_1_I) | 動的計画法:ナップサックDP | 個数制限付きナップサックDP, 貪欲法, スライド最小値 | [ruby](atcoder_selected_100/ruby/dpl_1_i.rb), [kotlin](atcoder_selected_100/kotlin/dpl_1_i.kt) |
| 46 | [ALDS1-10/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_10_B&lang=ja) | 動的計画法:区間DP | 連鎖行列積 | [ruby](atcoder_selected_100/ruby/alds1_10_b.rb) |
| 47 | [JOI2015HO/B](https://atcoder.jp/contests/joi2015ho/tasks/joi2015ho_b) | 動的計画法:区間DP | | [ruby](atcoder_selected_100/ruby/joi2015ho_b.rb) |
| 48 | [AOJ-1611](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1611&lang=jp) | 動的計画法:区間DP | ダルマ落とし, バックトラック法 | [ruby](atcoder_selected_100/ruby/aoj_1611.rb) |
| 49 | [DPL-2/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_2_A&lang=ja) | 動的計画法:ビットDP | 巡回セールスマン問題 | [ruby](atcoder_selected_100/ruby/dpl_2_a.rb) |
| 50 | [S8PC-1/G](https://atcoder.jp/contests/s8pc-1/tasks/s8pc_1_g) | 動的計画法:ビットDP | 巡回セールスマン問題 | [ruby](atcoder_selected_100/ruby/s8pc_1_g.rb), [kotlin](atcoder_selected_100/kotlin/s8pc_1_g.kt) |
| 51 | [JOI2014YO/D](https://atcoder.jp/contests/joi2014yo/tasks/joi2014yo_d) | 動的計画法:ビットDP | | [ruby](atcoder_selected_100/ruby/joi2014yo_d.rb) |
| 52 | [JOI2017YO/D](https://atcoder.jp/contests/joi2017yo/tasks/joi2017yo_d) | 動的計画法:ビットDP | | [ruby](atcoder_selected_100/ruby/joi2017yo_d.rb) |
| - | [ABC215/E](https://atcoder.jp/contests/abc215/tasks/abc215_e) | 動的計画法:ビットDP | | [ruby](atcoder_selected_100/ruby/abc215_e.rb) |
| - | [ABC326/E](https://atcoder.jp/contests/abc326/tasks/abc326_e) | 動的計画法:期待値DP | 累積和 | [ruby](atcoder_selected_100/ruby/abc326_e.rb) |
| - | [ABC350/E](https://atcoder.jp/contests/abc350/tasks/abc350_e) | 動的計画法:期待値DP | メモ化再帰 | [ruby](atcoder_selected_100/ruby/abc350_e.rb) |
| - | [ABC387/C](https://atcoder.jp/contests/abc387/tasks/abc387_c) | 動的計画法:桁DP | | [ruby](atcoder_selected_100/ruby/abc387_c.rb) |
| - | [ABC394/F](https://atcoder.jp/contests/abc394/tasks/abc394_F) | 動的計画法:木DP | | [ruby](atcoder_selected_100/ruby/abc394_f.rb) |
| - | [ABC397/E](https://atcoder.jp/contests/abc397/tasks/abc397_E) | 動的計画法:木DP | | [ruby](atcoder_selected_100/ruby/abc397_e.rb) |
| 53 | [DPL-1/D](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_1_D&lang=ja) | 動的計画法:その他 | 最長増加部分列(LIS) | [ruby](atcoder_selected_100/ruby/dpl_1_d.rb) |
| 54 | [ABC006/D](https://atcoder.jp/contests/abc006/tasks/abc006_4) | 動的計画法:その他 | 最長増加部分列(LIS) | [ruby](atcoder_selected_100/ruby/abc006_d.rb) |
| 55 | [ABC134/E](https://atcoder.jp/contests/abc134/tasks/abc134_e) | 動的計画法:その他 | 最長増加部分列(LIS) | [ruby](atcoder_selected_100/ruby/abc134_e.rb) |
| - | [ABC354/F](https://atcoder.jp/contests/abc354/tasks/abc354_f) | 動的計画法:その他 | 最長増加部分列(LIS), 前後を考える | [ruby](atcoder_selected_100/ruby/abc354_f.rb) |
| - | [ABC336/E](https://atcoder.jp/contests/abc336/tasks/abc336_e) | 動的計画法:その他 | 両端から計算 | [ruby](atcoder_selected_100/ruby/abc336_e.rb) |
| - | [ABC340/E](https://atcoder.jp/contests/abc340/tasks/abc340_e) | 動的計画法:その他 | フェニック木, Fenwick Tree, BIT | [ruby](atcoder_selected_100/ruby/abc340_e.rb) |
| - | [ABC216/G](https://atcoder.jp/contests/abc216/tasks/abc216_g) | 動的計画法:その他 | フェニック木, Fenwick Tree, BIT | [ruby](atcoder_selected_100/ruby/abc216_g.rb) |
| - | [ABC389/F](https://atcoder.jp/contests/abc389/tasks/abc389_f) | 動的計画法:その他 | フェニック木, Fenwick Tree, BIT | [ruby](atcoder_selected_100/ruby/abc389_f.rb) |
| - | [ABC392/F](https://atcoder.jp/contests/abc392/tasks/abc392_f) | 動的計画法:その他 | フェニック木, Fenwick Tree, BIT, 二分探索法, 後ろから考える | [ruby](atcoder_selected_100/ruby/abc392_f.rb) |
| - | [ABC312/G](https://atcoder.jp/contests/abc312/tasks/abc312_d) | 動的計画法:その他 | 括弧列の成立条件 | [ruby](atcoder_selected_100/ruby/abc312_d.rb) |
| - | [ABC357/E](https://atcoder.jp/contests/abc357/tasks/abc357_e) | 動的計画法:その他 | 強連結成分分解 | [ruby](atcoder_selected_100/ruby/abc357_e.rb), [JS](atcoder_selected_100/javascript/abc357_e.js) |
| - | [ABC358/E](https://atcoder.jp/contests/abc358/tasks/abc358_e) | 動的計画法:その他 | 組み合わせ, 逆元 | [ruby](atcoder_selected_100/ruby/abc358_e.rb) |
| - | [ABC362/E](https://atcoder.jp/contests/abc362/tasks/abc362_e) | 動的計画法:その他 | 等差数列 | [ruby](atcoder_selected_100/ruby/abc362_e.rb) |
| - | [ABC375/E](https://atcoder.jp/contests/abc375/tasks/abc375_e) | 動的計画法:その他 | ループを1つ減らす | [ruby](atcoder_selected_100/ruby/abc375_e.rb) |
| 56 | [GRL-1/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_A&lang=ja) | 最短経路問題 | ダイクストラ法 | [ruby](atcoder_selected_100/ruby/grl_1_a.rb) |
| 57 | [JOI2008YO/F](https://atcoder.jp/contests/joi2008yo/tasks/joi2008yo_f) | 最短経路問題 | ダイクストラ法 | [ruby1](atcoder_selected_100/ruby/joi2008yo_f_01.rb), [ruby2](atcoder_selected_100/ruby/joi2008yo_f_02.rb) |
| 59 | [JOI2014YO/E](https://atcoder.jp/contests/joi2014yo/tasks/joi2014yo_e) | 最短経路問題 | ダイクストラ法, 幅優先探索, 優先度付キュー | [ruby](atcoder_selected_100/ruby/joi2014yo_e.rb) |
| - | [ABC305/E](https://atcoder.jp/contests/abc305/tasks/abc305_e) | 最短経路問題 | 変形ダイクストラ法, 優先度付キュー | [ruby](atcoder_selected_100/ruby/abc305_e.rb) |
| - | [ABC325/E](https://atcoder.jp/contests/abc325/tasks/abc325_e) | 最短経路問題 | ダイクストラ法, 幅優先探索, 二分探索法 | [ruby](atcoder_selected_100/ruby/abc325_e.rb) |
| - | [ABC222/F](https://atcoder.jp/contests/abc222/tasks/abc222_f) | 最短経路問題 | ダイクストラ法, 幅優先探索, 優先度付キュー, 木の直径 | [ruby](atcoder_selected_100/ruby/abc222_f.rb) |
| - | [ABC361/E](https://atcoder.jp/contests/abc361/tasks/abc361_e) | 最短経路問題 | ダイクストラ法, 幅優先探索, 優先度付キュー, 木の直径 | [ruby](atcoder_selected_100/ruby/abc361_e.rb) |
| - | [ABC395/E](https://atcoder.jp/contests/abc395/tasks/abc395_e) | 最短経路問題 | ダイクストラ法, 幅優先探索, 優先度付キュー | [ruby](atcoder_selected_100/ruby/abc395_e.rb) |
| - | [ABC217/E](https://atcoder.jp/contests/abc217/tasks/abc217_e) | 優先度付キュー | 二重構造 | [ruby](atcoder_selected_100/ruby/abc217_e.rb) |
| - | [ABC234/D](https://atcoder.jp/contests/abc234/tasks/abc234_d) | 優先度付キュー | データ構造 | [ruby1](atcoder_selected_100/ruby/abc234_d_01.rb), [ruby2](atcoder_selected_100/ruby/abc234_d_02.rb) |
| - | [ABC384/E](https://atcoder.jp/contests/abc384/tasks/abc384_e) | 優先度付キュー | | [ruby](atcoder_selected_100/ruby/abc384_e.rb) |
| 60 | [GRL-1/C](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_C&lang=ja) | 最短経路問題 | ワーシャルフロイド法 | [ruby](atcoder_selected_100/ruby/grl_1_c.rb) |
| 61 | [ABC012/D](https://atcoder.jp/contests/abc012/tasks/abc012_4) | 最短経路問題 | ワーシャルフロイド法 | [ruby](atcoder_selected_100/ruby/abc012_d.rb) |
| 62 | [ABC079/D](https://atcoder.jp/contests/abc079/tasks/abc079_d) | 最短経路問題 | ワーシャルフロイド法 | [ruby](atcoder_selected_100/ruby/abc079_d.rb) |
| 64 | [GRL-2/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_2_A&lang=ja) | 最小全域木 | クラスカル法(貪欲法 + Union Find) | [ruby](atcoder_selected_100/ruby/grl_2_a.rb) |
| 65 | [JOISC2010/FINALS](https://atcoder.jp/contests/joisc2010/tasks/joisc2010_finals) | 最小全域木 | クラスカル法(貪欲法 + Union Find) | [ruby](atcoder_selected_100/ruby/joisc2010_finals.rb) |
| 67 | [ABC065/D](https://atcoder.jp/contests/abc065/tasks/arc076_b) | 最小全域木 | クラスカル法(貪欲法 + Union Find), XとYを別々に考える | [ruby](atcoder_selected_100/ruby/abc065_d.rb) |
| - | [ ABC383/E](https://atcoder.jp/contests/abc383/tasks/abc383_e) | 最小全域木 | クラスカル法(貪欲法 + Union Find) | [ruby](atcoder_selected_100/ruby/abc383_e.rb) |
| - | [ ABC355/F](https://atcoder.jp/contests/abc355/tasks/abc355_f) | 最小全域木 | Union Find | [ruby](atcoder_selected_100/ruby/abc355_f.rb) |
| - | [ ABC214/D](https://atcoder.jp/contests/abc214/tasks/abc214_d) | 最小全域木 | Union Find, 主客転倒 | [ruby](atcoder_selected_100/ruby/abc214_d.rb) |
| - | [ABC325/D](https://atcoder.jp/contests/abc325/tasks/abc325_d) | 貪欲法 | 優先度付きキュー | [ruby](atcoder_selected_100/ruby/abc325_d.rb) |
| - | [ABC230/D](https://atcoder.jp/contests/abc230/tasks/abc230_d) | 貪欲法 | 区間スケジューリング問題 | [ruby](atcoder_selected_100/ruby/abc230_d.rb) |
| 68 | [NTL-1/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=NTL_1_A&lang=ja) | 素因数分解 | | [ruby](atcoder_selected_100/ruby/ntl_1_a.rb) |
| - | [ABC254/D](https://atcoder.jp/contests/abc254/tasks/abc254_d) | 素因数分解 | 平方数 | [ruby1](atcoder_selected_100/ruby/abc254_d_1.rb),[ruby2](atcoder_selected_100/ruby/abc254_d_2.rb) |
| 70 | [NTL-1/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=NTL_1_B&lang=ja) | 高度なべき乗計算 | | [ruby](atcoder_selected_100/ruby/ntl_1_b.rb) |
| 71 | [S8PC-1/E](https://atcoder.jp/contests/s8pc-1/tasks/s8pc_1_e) | 高度なべき乗計算 | 累積和 | [ruby](atcoder_selected_100/ruby/s8pc_1_e.rb) |
| 72 | [ABC034/C](https://atcoder.jp/contests/abc034/tasks/abc034_c) | 逆元 | | [ruby](atcoder_selected_100/ruby/abc034_c.rb) |
| 73 | [ABC145/D](https://atcoder.jp/contests/abc145/tasks/abc145_d) | 逆元 | | [ruby](atcoder_selected_100/ruby/abc145_d.rb) |
| 76 | [NIKKEI2019-FINAL/A](https://atcoder.jp/contests/nikkei2019-final/tasks/nikkei2019_final_a) | 累積和 | | [ruby](atcoder_selected_100/ruby/nikkei2019_final_a.rb) |
| 77 | [JOI2010HO/A](https://atcoder.jp/contests/joi2010ho/tasks/joi2010ho_a) | 累積和 | | [ruby](atcoder_selected_100/ruby/joi2010ho_a.rb) |
| - | [ABC233/D](https://atcoder.jp/contests/abc233/tasks/abc233_d) | 累積和 | | [ruby](atcoder_selected_100/ruby/abc233_d.rb) |
| 78 | [JOI2011HO/A](https://atcoder.jp/contests/joi2011ho/tasks/joi2011ho1) | 累積和:二次元 | | [ruby](atcoder_selected_100/ruby/joi2011ho_a.rb) |
| 78 | [ABC106/D](https://atcoder.jp/contests/abc106/tasks/abc106_d) | 累積和:二次元 | 区間DP | [ruby](atcoder_selected_100/ruby/abc106_d.rb) |
| - | [ABC366/D](https://atcoder.jp/contests/abc366/tasks/abc366_d) | 累積和:三次元 | | [ruby](atcoder_selected_100/ruby/abc366_d.rb) |
| 80 | [ABC014/C](https://atcoder.jp/contests/gigacode-2019/tasks/gigacode_2019_d) | 累積和 | 二分探索 | [ruby](atcoder_selected_100/ruby/gigacode_2019_d.rb) |
| - | [ABC347/E](https://atcoder.jp/contests/abc347/tasks/abc347_e) | 累積和 | 横ではなく縦で考える | [ruby](atcoder_selected_100/ruby/abc347_e.rb) |
| - | [ABC356/E](https://atcoder.jp/contests/abc356/tasks/abc356_e) | 累積和 | 答えから考える | [ruby](atcoder_selected_100/ruby/abc356_e.rb) |
| - | [ABC375/D](https://atcoder.jp/contests/abc375/tasks/abc375_d) | 累積和 | 3つ組は真ん中固定 | [ruby1](atcoder_selected_100/ruby/abc375_d_01.rb), [ruby2](atcoder_selected_100/ruby/abc375_d_02.rb) |
| 81 | [ABC014/C](https://atcoder.jp/contests/abc014/tasks/abc014_3) | 累積和:いもす法 | | [ruby](atcoder_selected_100/ruby/abc014_c.rb) |
| 83 | [JOI2015HO/A](https://atcoder.jp/contests/joi2015ho/tasks/joi2015ho_a) | 累積和:いもす法 | | [ruby](atcoder_selected_100/ruby/joi2015ho_a.rb) |
| - | [ABC338/D](https://atcoder.jp/contests/abc338/tasks/abc338_d) | 累積和:いもす法 | | [ruby](atcoder_selected_100/ruby/abc338_d.rb) |
| - | [ABC221/D](https://atcoder.jp/contests/abc221/tasks/abc221_d) | 累積和:いもす法 | | [ruby](atcoder_selected_100/ruby/abc221_d.rb) |
| - | [ABC388/D](https://atcoder.jp/contests/abc388/tasks/abc388_d) | 累積和:いもす法 | | [ruby](atcoder_selected_100/ruby/abc388_d.rb) |
| 85 | [DSL-1/A](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_1_A&lang=ja) | Union Find | | [ruby](atcoder_selected_100/ruby/dsl_1_a.rb) |
| 86 | [ABC075/C](https://atcoder.jp/contests/abc075/tasks/abc075_c) | Union Find | DFS, Low Link | [ruby1](atcoder_selected_100/ruby/abc075_c_01.rb), [ruby2](atcoder_selected_100/ruby/abc075_c_02.rb), [kotlin1](atcoder_selected_100/kotlin/abc075_c_01.kt), [kotlin2](atcoder_selected_100/kotlin/abc075_c_02.kt) |
| 87 | [ABC120/D](https://atcoder.jp/contests/abc120/tasks/abc120_d) | Union Find | | [ruby](atcoder_selected_100/ruby/abc120_d.rb) |
| - | [ABC350/D](https://atcoder.jp/contests/abc350/tasks/abc350_d) | Union Find | DFS | [ruby1](atcoder_selected_100/ruby/abc350_d_01.rb), [ruby2](atcoder_selected_100/ruby/abc350_d_02.rb) |
| - | [ABC372/E](https://atcoder.jp/contests/abc372/tasks/abc372_e) | Union Find | 必要数分のみ保持 | [ruby1](atcoder_selected_100/ruby/abc372_e.rb) |
| - | [ABC372/E](https://atcoder.jp/contests/code-thanks-festival-2017-open/tasks/code_thanks_festival_2017_h) | Union Find | 部分永続Union Find | [ruby1](atcoder_selected_100/ruby/code_thanks_festival_2017_h_01.rb), [ruby2](atcoder_selected_100/ruby/code_thanks_festival_2017_h_02.rb) |
| 88 | [JOI2008HO](https://atcoder.jp/contests/joi2008ho/tasks/joi2008ho_a) | 圧縮 | | [ruby](atcoder_selected_100/ruby/joi2008ho_a.rb) |
| 89 | [JOI2013HO/1](https://atcoder.jp/contests/joi2013ho/tasks/joi2013ho1) | 圧縮 | | [ruby](atcoder_selected_100/ruby/joi2013ho_1.rb) |
| 90 | [S8PC-5/B](https://atcoder.jp/contests/s8pc-5/tasks/s8pc_5_b) | その他 | | [ruby](atcoder_selected_100/ruby/s8pc_5_b.rb) |
| - | [ABC353/E](https://atcoder.jp/contests/abc353/tasks/abc353_e) | その他 | トライ木, tri木, Rolling Hash | [ruby1](atcoder_selected_100/ruby/abc353_e_01.rb), [ruby2](atcoder_selected_100/ruby/abc353_e_02.rb) |
| - | [ABC189/C](https://atcoder.jp/contests/abc189/tasks/abc189_c) | その他 | スタック, ヒストグラム最大長方形 | [ruby](atcoder_selected_100/ruby/abc189_c.rb) |
| - | [DPL-3/B](https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DPL_3_B&lang=ja) | その他 | スタック, ヒストグラム最大長方形 | [ruby](atcoder_selected_100/ruby/dpl_3_b.rb) |
| - | [ABC359/E](https://atcoder.jp/contests/abc359/tasks/abc359_e) | その他 | スタック, ヒストグラム最大長方形 | [ruby](atcoder_selected_100/ruby/abc359_e.rb) |
| - | [ABC372/D](https://atcoder.jp/contests/abc372/tasks/abc372_d) | その他 | スタック, ヒストグラム最大長方形 | [ruby](atcoder_selected_100/ruby/abc372_d.rb) |
| - | [ABC379/F](https://atcoder.jp/contests/abc379/tasks/abc379_f) | その他 | スタック, ヒストグラム最大長方形, フェニック木, 二分探索法 | [ruby1](atcoder_selected_100/ruby/abc379_f_01.rb), [ruby2](atcoder_selected_100/ruby/abc379_f_02.rb) |
| - | [ABC352/D](https://atcoder.jp/contests/abc352/tasks/abc352_d) | その他 | スライド最小, スライド最大, dequeue | [ruby](atcoder_selected_100/ruby/abc352_d.rb) |
| - | [ABC349/D](https://atcoder.jp/contests/abc349/tasks/abc349_d) | その他 | セグメント木の考え方, 深さ優先探索 | [ruby1](atcoder_selected_100/ruby/abc349_d_1.rb),[ruby2](atcoder_selected_100/ruby/abc349_d_2.rb) |
| - | [ABC302/E](https://atcoder.jp/contests/abc302/tasks/abc302_e) | その他 | Set | [ruby](atcoder_selected_100/ruby/abc302_e.rb) |
| - | [ABC393/D](https://atcoder.jp/contests/abc393/tasks/abc393_d) | その他 | 転倒数, マンハッタン距離の総和を最小値は、中央値 | [ruby1](atcoder_selected_100/ruby/abc393_d_1.rb), [ruby2](atcoder_selected_100/ruby/abc393_d_2.rb) |
| 95 | [ABC149/B](https://atcoder.jp/contests/abc149/tasks/abc149_b) | 数学的な問題 | | [ruby](atcoder_selected_100/ruby/abc149_b.rb) |
| 96 | [ABC139/D](https://atcoder.jp/contests/abc139/tasks/abc139_d) | 数学的な問題 | | [ruby](atcoder_selected_100/ruby/abc139_d.rb) |
| 97 | [ABC150/D](https://atcoder.jp/contests/abc139/tasks/abc150_d) | 数学的な問題 | | [ruby](atcoder_selected_100/ruby/abc150_d.rb) |
| 98 | [SUMITRUST2019/E](https://atcoder.jp/contests/sumitrust2019/tasks/sumitb2019_e) | 数学的な問題 | | [ruby](atcoder_selected_100/ruby/sumitrust2019_e.rb) |
| 100 | [TENKA12018BEGINNER](https://atcoder.jp/contests/tenka1-2018-beginner/tasks/tenka1_2018_d) | 数学的な問題 | 完全グラフ | [ruby](atcoder_selected_100/ruby/tenka1_2018_d.rb) |
| - | [ABC337/E](https://atcoder.jp/contests/abc338/tasks/abc337_e) | 数学的な問題 | ビット | [ruby](atcoder_selected_100/ruby/abc337_e.rb) |
| - | [ABC365/E](https://atcoder.jp/contests/abc365/tasks/abc365_e) | 数学的な問題 | ビット, XOR, 累積和 | [ruby](atcoder_selected_100/ruby/abc365_e.rb) |
| - | [ABC396/E](https://atcoder.jp/contests/abc396/tasks/abc396_e) | 数学的な問題 | ビット, XOR, ビット毎に独立で考える | [ruby](atcoder_selected_100/ruby/abc396_e.rb) |
| - | [ABC338/E](https://atcoder.jp/contests/abc338/tasks/abc338_e) | 数学的な問題 | スタック | [ruby](atcoder_selected_100/ruby/abc338_e.rb) |
| - | [ABC320/B](https://atcoder.jp/contests/abc320/tasks/abc320_b) | 数学的な問題 | 回文, manacher | [ruby](atcoder_selected_100/ruby/abc320_b.rb) |
| - | [ABC398/F](https://atcoder.jp/contests/abc398/tasks/abc398_f) | 数学的な問題 | 回文, manacher | [ruby](atcoder_selected_100/ruby/abc398_f.rb) |
| - | [ABC346/E](https://atcoder.jp/contests/abc346/tasks/abc346_e) | 数学的な問題 | 後ろから考える | [ruby](atcoder_selected_100/ruby/abc346_e.rb) |
| - | [ABC347/C](https://atcoder.jp/contests/abc347/tasks/abc347_c) | 数学的な問題 | 条件を変換する | [ruby](atcoder_selected_100/ruby/abc347_c.rb) |
| - | [CHOKUDAI_S001/J](https://atcoder.jp/contests/chokudai_s001/tasks/chokudai_S001_j) | 数学的な問題 | 転倒数 | [ruby](atcoder_selected_100/ruby/chokudai_S001_j.rb) |
| - | [ABC396/F](https://atcoder.jp/contests/abc396/tasks/abc396_f) | 数学的な問題 | 転倒数 | [ruby](atcoder_selected_100/ruby/abc396_f.rb) |
| - | [ABC357/D](https://atcoder.jp/contests/abc357/tasks/abc357_d) | 数学的な問題 | 等比数列の和の公式, 逆元 | [ruby](atcoder_selected_100/ruby/abc357_d.rb) |
| - | [ABC367/F](https://atcoder.jp/contests/abc367/tasks/abc367_f) | 数学的な問題 | Schwartz–Zippel lemma, Zobrist Hash | [ruby](atcoder_selected_100/ruby/abc367_f.rb) |
| - | [ABC377/E](https://atcoder.jp/contests/abc377/tasks/abc377_e) | 数学的な問題 | ダブリング, 鳩の巣原理, グラフ, 循環, 周期 | [ruby](atcoder_selected_100/ruby/abc377_e.rb) |
| - | [ABC379/E](https://atcoder.jp/contests/abc379/tasks/abc379_e) | 数学的な問題 | 下の桁から確定してく, 巨大な桁数 | [ruby](atcoder_selected_100/ruby/abc379_e.rb) |
| - | [ABC381/C](https://atcoder.jp/contests/abc381/tasks/abc381_c) | 数学的な問題 | ランレングス圧縮 | [ruby1](atcoder_selected_100/ruby/abc381_c_01.rb), [ruby2](atcoder_selected_100/ruby/abc381_c_02.rb) |
| - | [ABC393/E](https://atcoder.jp/contests/abc393/tasks/abc393_e) | 数学的な問題 | 約数列挙 | [ruby](atcoder_selected_100/ruby/abc393_e.rb) |
| - | [ABC398/D](https://atcoder.jp/contests/abc398/tasks/abc398_d) | 数学的な問題 | 全体移動は座標移動, 相対位置 | [ruby](atcoder_selected_100/ruby/abc398_d.rb) |

## [Educational DP Contest/DPまとめコンテスト](https://atcoder.jp/contests/dp)

| No | problem | category | remark | ans |
|----|-----------------|----------|--------|-----|
| A | [Frog1](https://atcoder.jp/contests/dp/tasks/dp_a) | | | [ruby](educational_dp/ruby/a.rb), [kotlin](educational_dp/kotlin/a.kt), [ruby](educational_dp/javascript/a.js) |
| B | [Frog2](https://atcoder.jp/contests/dp/tasks/dp_b) | | | [ruby](educational_dp/ruby/b.rb), [kotlin](educational_dp/kotlin/b.kt), [ruby](educational_dp/javascript/b.js) |
| C | [Vacation](https://atcoder.jp/contests/dp/tasks/dp_c) | | | [ruby](educational_dp/ruby/c.rb), [kotlin](educational_dp/kotlin/c.kt), [ruby](educational_dp/javascript/c.js) |
| D | [Knapsack1](https://atcoder.jp/contests/dp/tasks/dp_d) | ナップサックDP | | [ruby](educational_dp/ruby/d.rb), [kotlin](educational_dp/kotlin/d.kt), [ruby](educational_dp/javascript/d.js) |
| E | [Knapsack2](https://atcoder.jp/contests/dp/tasks/dp_e) | ナップサックDP | キーと値を入れ替える | [ruby](educational_dp/ruby/e.rb), [kotlin](educational_dp/kotlin/e.kt) |
| F | [LCS](https://atcoder.jp/contests/dp/tasks/dp_f) | | 最長共通部分列(LCS), 復元 | [ruby](educational_dp/ruby/f.rb), [kotlin](educational_dp/kotlin/f.kt) |
| G | [Longest Path](https://atcoder.jp/contests/dp/tasks/dp_g) | | トポロジカルソート | [ruby](educational_dp/ruby/g.rb), [kotlin](educational_dp/kotlin/g.kt) |
| H | [Grid 1](https://atcoder.jp/contests/dp/tasks/dp_h) | | | [ruby](educational_dp/ruby/h.rb), [kotlin](educational_dp/kotlin/h.kt) |
| I | [Coins](https://atcoder.jp/contests/dp/tasks/dp_i) | 確率DP | | [ruby](educational_dp/ruby/i.rb) |
| J | [Sushi](https://atcoder.jp/contests/dp/tasks/dp_j) | 期待値DP | メモ化再帰 | [ruby](educational_dp/ruby/j.rb), [kotlin](educational_dp/kotlin/j.kt) |
| K | [Stones](https://atcoder.jp/contests/dp/tasks/dp_k) | | ゲーム必勝法 | [ruby](educational_dp/ruby/k.rb) |
| L | [Deque](https://atcoder.jp/contests/dp/tasks/dp_l) | 区間DP | バックトラック法 | [ruby](educational_dp/ruby/l.rb) |
| M | [Candies](https://atcoder.jp/contests/dp/tasks/dp_m) | | 累積和 | [ruby](educational_dp/ruby/m.rb) |
| N | [Slimes](https://atcoder.jp/contests/dp/tasks/dp_n) | 区間DP | 累積和 | [ruby](educational_dp/ruby/n.rb) |
| O | [Matching](https://atcoder.jp/contests/dp/tasks/dp_o) | bitDP | | [ruby](educational_dp/ruby/o.rb) |
| P | [Independent Set](https://atcoder.jp/contests/dp/tasks/dp_p) | 木DP | | [ruby](educational_dp/ruby/p.rb) |
| Q | [Flowers](https://atcoder.jp/contests/dp/tasks/dp_q) | | セグメント木 | [ruby](educational_dp/ruby/q.rb) |
| S | [Digit Sum](https://atcoder.jp/contests/dp/tasks/dp_s) | 桁DP | | [ruby](educational_dp/ruby/s.rb), [JS](educational_dp/javascript/s.js) |
| T | [Permutation](https://atcoder.jp/contests/dp/tasks/dp_t) | 挿入DP | | [ruby](educational_dp/ruby/t.rb) |
| U | [Grouping](https://atcoder.jp/contests/dp/tasks/dp_u) | bitDP | | [ruby](educational_dp/ruby/u.rb) |
| V | [Subtree](https://atcoder.jp/contests/dp/tasks/dp_v) | 全方位木DP | 累積積 | [ruby](educational_dp/ruby/v.rb), [kotlin](educational_dp/kotlin/v.kt) |
| X | [Tower](https://atcoder.jp/contests/dp/tasks/dp_x) | | | [ruby](educational_dp/ruby/x.rb) |
| Y | [Gride 2](https://atcoder.jp/contests/dp/tasks/dp_y) | | 包除原理 | [ruby](educational_dp/ruby/y.rb), [kotlin](educational_dp/kotlin/y.kt) |
| Z | [Frog 3](https://atcoder.jp/contests/dp/tasks/dp_z) | | Convex-Hull Trick(CHT) | [ruby](educational_dp/ruby/z.rb) |

## [Typical DP Contest](https://atcoder.jp/contests/tdpc)

| No | problem | category | remark | ans |
|----|-----------------|----------|--------|-----|
| A | [コンテスト](https://atcoder.jp/contests/tdpc/tasks/tdpc_contest) | | | [ruby](typical_dp/ruby/a.rb) |
| B | [ゲーム](https://atcoder.jp/contests/tdpc/tasks/tdpc_game) | | バックトラック法 | [ruby](typical_dp/ruby/b.rb) |
| D | [サイコロ](https://atcoder.jp/contests/tdpc/tasks/tdpc_dice) | | | [ruby](typical_dp/ruby/d.rb) |
| E | [数](https://atcoder.jp/contests/tdpc/tasks/tdpc_number) | 桁DP | | [ruby](typical_dp/ruby/e.rb) |
| F | [準急](https://atcoder.jp/contests/tdpc/tasks/tdpc_semiexp) | | | [ruby](typical_dp/ruby/f.rb) |
| G | [辞書順](https://atcoder.jp/contests/tdpc/tasks/tdpc_lexicographical) | | | [ruby](typical_dp/ruby/g.rb) |