atcoder_typical90

競プロ典型90問

Stars
1
Committers
2

競プロ典型 90問

atcoderの典型90問の解法集.

各論

javaに関しては、クラス名をMainに変更しないとatcoderでは機能しないので注意。

問題文 アルゴリズム等 ruby解 java解 kotlin解 解説
001 - Yokan Party(★4) 貪欲法, 二分探索法 ruby java kotlin 解説
002 - Encyclopedia of Parentheses(★3) bit全探索 ruby java kotlin 解説
003 - Longest Circular Road(★4) 木の直径 ruby1, ruby2 java1, java2 kotlin1, kotlin2 解説
004 - Cross Sum(★2) 包除原理 ruby java kotlin 解説
005 - Restricted Digits(★7) 桁DP法, ダブリング ruby 解説
006 - Smallest Subsequence(★5) 貪欲法 ruby1, ruby2 java kotlin1 解説
007 - CP Classes(★3) 二分探索法 ruby java kotlin 解説
008 - AtCounter(★4) 状態DP法 ruby java kotlin 解説
009 - Three Point Angle(★6) 二分探索法, 偏角ソート, 真ん中決め打ち java 解説
010 - Score Sum Queries(★2) 累積和 ruby java kotlin 解説
011 - Gravy Jobs(★6) DP法, 締め切りが早い順 ruby java kotlin  解説
012 - Red Painting(★4) Union-Find ruby java kotlin 解説
013 - Passing(★5) ダイクストラ法 ruby java kotlin 解説
014 - We Used to Sing a Song Together(★3) ソート, 貪欲法 ruby java kotlin 解説
015 - Don't be too close(★6) 調和級数, 逆元, フェルマーの小定理 ruby kotlin 解説
016 - Minimum Coins(★3) 工夫した全探索 ruby kotlin 解説
017 - Crossing Segments(★7) 余事象, BIT(FenwickTree) ruby kotlin 解説
018 - Statue of Chokudai(★3) 三角関数 ruby 解説
019 - Pick Two(★6) 区間DP法 ruby 解説
020 - Log Inequality(★3) 整数 ruby 解説
021 - Come Back in One Piece(★5) 強連結成分分解 ruby java kotlin 解説
022 - Cubic Cake(★2) ユークリッド互除法 ruby1, ruby2 解説
023 - Avoid War(★7) bit全探索, bitDP法 解説
024 - Select +/- One(★2) パリティ ruby 解説
025 - Digit Product Equation(★7) 再帰関数 ruby kotlin 解説
026 - Independent Set on a Tree(★4) 二部グラフ, 再帰関数 ruby kotlin 解説
027 - Sign Up Requests (★2) Hash(Set) ruby java kotlin 解説
028 - Cluttered Paper(★4) いもす法 ruby kotlin 解説
029 - Long Bricks(★5) 座標圧縮, セグメント木 解説
030 - K Factors(★5) エラトステネスの篩 kotlin 解説
031 - VS AtCoder(★6) grundy ruby java 解説
032 - AtCoder Ekiden(★3) 順列全探索 ruby 解説
033 - Not Too Bright(★2) 境界条件 ruby 解説
034 - There are few types of elements(★4) 尺取法 ruby kotlin 解説
035 - Preserve Connectivity(★7) 木DP, 最近共通祖先(LCA), 座標圧縮 ruby 解説
036 - Max Manhattan Distance(★5) マンハッタン距離 ruby 解説
037 - Don't Leave the Spice(★5) スライド最大値(最小値), DP法, 動的計画法 ruby 解説
038 - Large LCM(★3) ユークリッド互除法 ruby 解説
039 - Tree Distance(★5) 貢献度, 再帰関数 ruby 解説
040 - Get More Money(★7) 解説
041 - Piles in AtCoder Farm(★7) 解説
042 - Multiple of 9(★4) DP法 ruby kotlin 解説
043 - Maze Challenge with Lack of Sleep(★4) 拡張BFS ruby1, ruby2 解説
044 - Shift and Swapping(★3) 見かけ上の変化をメモ ruby 解説
045 - Simple Grouping(★6) bitDP法 解説
046 - I Love 46(★3) 同じものをまとめる, 剰余 ruby 解説
047 - Monochromatic Diagonal(★7) ローリングハッシュ ruby 解説
048 - I will not drop out(★3) 上界(下界)見積り ruby 解説
049 - Flip Digits 2(★6) 最小全域木, Union-Find, クラスカル法 ruby kotlin 解説
050 - Stair Jump(★3) DP法 ruby kotlin 解説
051 - Typical Shop(★5) 半分全列挙 ruby kotlin 解説
052 - Dice Product(★3) 因数分解 ruby kotlin 解説
053 - Discrete Dowsing(★7) 解説
054 - Takahashi Number(★6) 最短経路問題, 幅優先探索, グラフの辺数削減, エルデシュ数  ruby 解説
055 - Select 5(★2) 定数倍 ruby 解説
056 - Lucky Bag(★5) 動的計画法, DP法, DP復元 ruby kotlin 解説
057 - Flip Flap(★6) 掃き出し法 ruby 解説
058 - Original Calculator(★4) ruby 解説
059 - Many Graph Queries(★7) 解説
060 - Chimera(★5) 最長増加部分列(LIS), 二分探索法 ruby java kotlin 解説
061 - Deck(★2) deque ruby kotlin 解説
062 - Paint All(★6) 幅優先探索, 後ろから考える ruby 解説
063 - Monochromatic Subgrid(★4) bit全探索 ruby kotlin 解説
064 - Uplift(★3) 階差 ruby kotlin 解説
065 - RGB Balls 2(★7) 解説
066 - Various Arrays(★5) 期待値の線形性 ruby 解説
067 - Base 8 to 9(★2) ruby 解説
068 - Paired Information(★5) クエリ先読み, Union-Find ruby 解説
069 - Colorful Blocks 2(★3) 繰り返し2乗法 ruby 解説
070 - Plant Planning(★4) マンハッタン距離, 独立で考える ruby 解説
071 - Fuzzy Priority(★7) 解説
072 - Loop Railway Plan(★4) バックトラック, 再帰関数, "何通りか"の感覚 ruby 解説
073 - We Need Both a and b(★5) 木DP, 動的計画法 ruby 解説
074 - ABC String 2(★6) 特殊ケースを考える, 不変量を考える ruby 解説
075 - Magic For Balls(★3) 素因数分解 ruby kotlin 解説
076 - Cake Cut(★3) 円環を列にして二倍にする(累積和), 尺取法 ruby 解説
077 - Planes on a 2D Plane(★7) 解説
078 - Easy Graph Problem(★2) グラフの基本 ruby 解説
079 - Two by Two(★3) 操作順序によらない ruby 解説
080 - Let's Share Bit(★6) 包除原理, bit全探索 ruby 解説
081 - Friendly Group(★5) 解説
082 - Counting Numbers(★3) 数列の和の公式, 部分問題に分解 ruby 解説
083 - Colorful Graph(★6) 解説
084 - There are two types of characters(★3) ruby 解説
085 - Multiplication 085(★4) 全件探索, 約数列挙 ruby 解説
086 - Snuke's Favorite Arrays(★5 bit全探索, bit毎に独立に考える ruby 解説
087 - Chokudai's Demand(★5) ワーシャルフロイド法, 二分探索法 ruby 解説
088 - Similar but Different Ways(★6) 鳩ノ巣原理, DFS ruby 解説