| 作成日 | 2025/08/19 |
| 最終更新日 | 2026/06/11 |
解いた問題が増えてきて類題をパッと出せなくなってきたのでメモしておきます。解いた範囲でまとめます。
当然ですが解法に触れまくるので自力で解きたい人は要注意。
|
001 - Yokan Party(★4)
みんなに分けたときの最小値の最大化
|
002 - Encyclopedia of Parentheses(★3)
括弧列の種類数
|
003 - Longest Circular Road(★4)
辺を一本足して最大のサイクルを作る
|
|
004 - Cross Sum(★2)
あるマスのある行と列の和を出す
|
005 - Restricted Digits(★7)
K種の数字でN桁の数を作って、Bの倍数になる種類数
|
006 - Smallest Subsequence(★5)
長さNの文字列SのK文字の部分列の辞書順最小
|
|
007 - CP Classes(★3)
レーティングAとレーティングBの差の絶対値の和を最小化
|
008 - AtCounter(★4)
N文字の文字列Sから部分文字列でAtCoderとなる種類数
|
009 - Three Point Angle(★6)
XY平面で、もっとも180度に近い角をなす三点を探す
|
|
010 - Score Sum Queries(★2)
2つのクラスのL ~ R の点数の合計をQ回出す
|
011 - Gravy Jobs(★6)
締め切りがDiで、連続するCi日を使ってSiの報酬をもらう。報酬の合計を最大化。
|
012 - Red Painting(★4)
HWのグリッドに対して2つのクエリが与えられるので処理 ・マスを塗る ・2マス間を塗られたマスだけで移動できるか判定する
|
|
013 - Passing(★5)
ある点を経由した最短距離を出す
|
014 - We Used to Sing a Song Together(★3)
始点と終点の距離の和を最小化
|
015 - Don't be too close(★6)
一定以上離れた数値をピックする方法の種類数
|
|
016 - Minimum Coins(★3)
3つの基底でNを作るとき、必要な要素の最小化
|
017 - Crossing Segments(★7)
交差する弦の数
|
018 - Statue of Chokudai(★3)
時間によって変わる位置から、ある地点を見たときの角度
|
|
019 - Pick Two(★6)
連続要素を取り除くコストを2数の差の絶対値、全要素を除去した時のコストの最小化
|
020 - Log Inequality(★3)
対数の大小の比較
|
021 - Come Back in One Piece(★5)
DAGの最大サイクルを探す
|
|
022 - Cubic Cake(★2)
直方体を立方体に分割したとき、最大の立方体求める
|
023 - Avoid War(★7)
周囲8マスに別のコマがない置き方の種類数
|
024 - Select +/- One(★2)
2つの数列をK回の1の加減算の操作で一致させる
|
|
025 - Digit Product Equation(★7)
各桁の積と元の数字の関係を条件を満たす数字の種類数
|
026 - Independent Set on a Tree(★4)
木から隣り合わない頂点を取り出す方法
|
027 - Sign Up Requests (★2)
存在管理。あるidが存在しないなら処理をする。
|
|
028 - Cluttered Paper(★4)
紙を敷き詰めて指定枚数重なっている場所の面積
|
029 - Long Bricks(★5)
長さの異なるブロックを置いてそれぞれの高さを求める
|
030 - K Factors(★5)
素因数がk個ある数字の種類数
|
|
031 - VS AtCoder(★6)
山から石を取るゲームの必勝判定
|
032 - AtCoder Ekiden(★3)
N人で駅伝。険悪な二人は襷をつなげない。かかる時間の最小化
|
033 - Not Too Bright(★2)
指定領域に条件を満たすように明かりを配置したとき、置ける最大値
|
|
034 - There are few types of elements(★4)
連続部分列に登場する要素がK個になる、最長部分列を求める
|
035 - Preserve Connectivity(★7)
指定した頂点が連結状態であるのに必要な枝の数を最小化
|
036 - Max Manhattan Distance(★5)
マンハッタン距離の最大値を出す
|
|
037 - Don't Leave the Spice(★5)
L~Rの間で自由に使えるスパイスをちょうどW使い、作った料理の価値を最大化する
|
038 - Large LCM(★3)
AとBの最小公倍数を出すが、大きい場合はlargeと出す
|
039 - Tree Distance(★5)
木の頂点間距離の和
|
|
040 - Get More Money(★7)
鍵とお金がある家にW円払って入る。ただし、家に入るには鍵が必要。スコアの最大化
|
041 - Piles in AtCoder Farm(★7)
多角形を作り、内部の格子点の数を数え上げ
|
042 - Multiple of 9(★4)
9の倍数かつ、桁の和がKの数字の種類数
|
|
043 - Maze Challenge with Lack of Sleep(★4)
迷路攻略で曲がる回数を最小化
|
044 - Shift and Swapping(★3)
数列のシフトとスワップ処理をしたときに、Aiの値を出す
|
045 - Simple Grouping(★6)
N個の頂点をK個にグルーピング。距離の最大値を最小化
|
|
046 - I Love 46(★3)
3つの数列から数字を取ってきて、和を46の倍数にする種類数
|
047 - Monochromatic Diagonal(★7)
一定のルールに従ってRGBでグリッドを塗る。斜線の数を数え上げ
|
048 - I will not drop out(★3)
満点がA点、部分点がB点のテストで時間内に取る点を最大化
|
|
049 - Flip Digits 2(★6)
L~Rのビットを反転させるアイテムを使って文字列を変換。一致可能か判定し、可能ならコストの最小化
|
050 - Stair Jump(★3)
1かL進んでちょうどN進む方法の種類数
|
051 - Typical Shop(★5)
N個の商品からK個選んで、合計をP以下にする種類数
|
|
052 - Dice Product(★3)
サイコロの出目の積が得点。得点の和を出す
|
053 - Discrete Dowsing(★7)
極大値を1つ持つ数列の極大値の位置を求める。数値は開くまで不明
|
054 - Takahashi Number(★6)
すべての頂点に対してのある頂点からの最短距離
|
|
055 - Select 5(★2)
数列から5つ選んで乗じたときの余りがQになる種類数
|
056 - Lucky Bag(★5)
Ai円とBi円の福袋から選んで、ちょうどS円になるようにする。可能かどうかと購入方法を出す
|
057 - Flip Flap(★6)
一部の状態を変更する操作で、目標状態を作る操作の種類数
|
|
058 - Original Calculator(★4)
元の数字と桁和を足してmodを取り数字を変更。K回操作を行ったときの値
|
059 - Many Graph Queries(★7)
DAGで、aからbに到達できるか判定
|
060 - Chimera(★5)
数列Aから極大値を1つ持つ部分列Bを作る。最長部分列の長さを求める
|
|
061 - Deck(★2)
先頭と最後尾に入れる操作と、x番目の要素を出力する操作
|
062 - Paint All(★6)
条件つき操作で、すべての操作を完了する
|
063 - Monochromatic Subgrid(★4)
HWのグリッドのうち、一部の行列を取りだして出現する数字が1つになるようにする
|
|
064 - Uplift(★3)
区間加算減算の操作と、連続数の差の絶対値の和を求める
|
065 - RGB Balls 2(★7)
制約を満たすボールの選び方の種類数
|
066 - Various Arrays(★5)
ランダムで作られる数列の転倒数の期待値
|
|
067 - Base 8 to 9(★2)
8進数を9進数に変換。出た数字を一部変更。K回繰り返した値
|
068 - Paired Information(★5)
2つの項の関係が与えられる。ある数を固定した場合、別の数が一意に定まるか判定
|
069 - Colorful Blocks 2(★3)
条件を満たすようにする種類数
|
|
070 - Plant Planning(★4)
マンハッタン距離の総和の最小化
|
071 - Fuzzy Priority(★7)
条件を満たす順列をK個見つける
|
072 - Loop Railway Plan(★4)
入れないマスがあるグリッドで、最大ループを求める
|
|
073 - We Need Both a and b(★5)
ある木にa・b両方の文字を含むように枝を削除する方法の種類数
|
074 - ABC String 2(★6)
操作できる最大数を求める
|
075 - Magic For Balls(★3)
素因数分解した数字を2つ作る。操作回数の最小化
|
|
076 - Cake Cut(★3)
全体の1/10になるように連続部分列を選択する
|
077 - Planes on a 2D Plane(★7)
時間で移動するものを、条件を満たすように配置
|
078 - Easy Graph Problem(★2)
自身より頂点番号が小さい頂点がただ1つ存在する頂点の個数
|
|
079 - Two by Two(★3)
2*2のマスに操作を行い、別のグリッドと一致できるか判定
|
080 - Let's Share Bit(★6)
数列の要素すべてとbitAndをとっても0にならないもの種類数
|
081 - Friendly Group(★5)
条件を満たすようにグループ分け。グループの要素数の最大値
|
|
082 - Counting Numbers(★3)
L~Rの間の数字xをx回書く。文字数を求める
|
083 - Colorful Graph(★6)
グラフの頂点と隣接頂点に色を付ける。色を出力する。
|
084 - There are two types of characters(★3)084 - There are two types of characters(★3)
連続区間に〇と×が含まれる区間の数を求める
|
|
085 - Multiplication 085(★4)
a*b*C = K となるabcの種類数
|
086 - Snuke's Favorite Arrays(★5)
bitORの条件を満たす数列の種類数
|
087 - Chokudai's Demand(★5)
経路を結ぶ費用を設定し、条件を満たす費用の最大値を求める
|
|
088 - Similar but Different Ways(★6)
数列Aから条件を満たすようにカードを選ぶ方法を1つ出力
|
089 - Partitions and Inversions(★7)
数列Aを分割し、各区間のバブルソートに必要な手数の回数の和がK以下になる分割方法の種類数
|
090 - Tenkei90's Last Problem(★7)
連続部分列の最小値*長さがK以下になる連続部分列の種類数
|
| ABC368 |
A - Cut
公式解説(kyopro_friends) 山札をカットして上に積む
|
B - Decrease 2 max elements
公式解説(Cyanmond) 降順にソート。手前2つを減算。0より大きい数字が1つになったら終了
|
C - Triple Attack
公式解説(kyopro_friends) 1 1 3 とダメージを与える人がN体のモンスターを倒すのにかかる時間
|
|---|---|---|---|
|
D - Minimum Steiner Tree
公式解説(kyopro_friends) 指定頂点をすべて含む最小の木を求める
|
E - Train Delay
公式解説(kyopro_friends) 電車が遅れる。乗り換え可能だった電車が乗り換え可能になるように他の電車を遅らせる。
|
F - Dividing Game
公式解説(Cyanmond) 約数のどれかに遷移。全部1にしたら勝利。必勝判定を行う。
|
|
|
G - Add and Multiply Queries
公式解説(Cyanmond) A・B二つの数列があり、Aは加算・B乗算として操作。 L ~ R のiに対してAiかBiを作用させたときの最大値を出す。
|
|||
| ABC367 |
A - Shout Everyday
公式解説(toam) 時間が3つ与えられるので、条件判定
|
B - Cut .0
公式解説(physics0523) 小数点以下の0を省略して出力
|
C - Enumerate Sequences
公式解説(physics0523) 条件を満たす数列を列挙
|
|
D - Pedometer
公式解説(physics0523) 円環で移動距離がMの倍数になるような点の組み合わせを数え上げ
|
E - Permute K times
公式解説(physics0523) 参照を示す数列が与えられるのでK回後の状態を出力
|
F - Rearrange Query
公式解説(toam) 数列A・BのL~Rに現れる数字の数が等しいか判断
|
|
|
G - Sum of (XOR^K or 0)
公式解説(toam) 数列Aの部分列をBとする。Bの要素数がMの倍数の時、総XORを取ってK乗したものの和を求める。
|
|||
| ABC366 |
A - Election 2
公式解説(MtSaka) 2人で選挙。結果が確定しているか判定
|
B - Vertical Writing
公式解説(sotanishy) 横書きで与えられた文字列を縦書きにする
|
C - Balls and Bag Query
公式解説(MtSaka) 袋に数字が書かれたボールを入れたり出したり。入っているボールの種類数
|
|
D - Cuboid Sum Query
公式解説(MtSaka) 3次元配列の直方体の一部の和を出す
|
E - Manhattan Multifocal Ellipse
公式解説(sotanishy) 今ある点からの距離の和がD以下の点の種類数
|
F - Maximum Composition
公式解説(MtSaka) 合成関数の最大値を求める
|
|
|
G - XOR Neighbors
公式解説(sotanishy) 隣接頂点とのxorが0になるグラフをつくる
|
|||
| ABC363 |
A - Piling Up
公式解説(mechanicalpenciI) 100の倍数ごとに増える瓦を増やしたい。必要な数値は?
|
B - Japanese Cursed Doll
公式解説(mechanicalpenciI) 髪の伸びる呪いの人形。髪の長さがT以上の人形がP体以上になるのは何日後か。
|
C - Avoid K Palindrome 2
公式解説(mechanicalpenciI) 長さKの回文が存在しない長さNの文字列Sの並び替えの種類数
|
|
D - Palindromic Number
公式解説(Nyaan) X番目の回文数を求める。
|
E - Sinking Land
公式解説(mechanicalpenciI) i年後に高さiになる海に囲まれた島。沈まないで残っている面積を出す。
|
F - Palindromic Expression
公式解説(Nyaan) 1~9の整数と乗算記号を使ってNを作れるか判定
|
|
|
G - Dynamic Scheduling
公式解説(Nyaan) 期日までにタスクを終わらせると報酬がもらえる。1つのタスクの期日と報酬が変わるので、Q回求める
|
|||
| ABC362 |
A - Buy a Pen
公式解説(toam) 3つの要素のうち買えないものが1つある。最小値を出す。
|
B - Right Triangle
公式解説(toam) 3点が与えられる。直角三角形か判定
|
C - Sum = 0
公式解説(toam) L~Rの値を取る値がN個。総和が0になるなら方法を出力。
|
|
D - Shortest Path 3
公式解説(sotanishy) 頂点と辺にコストがある。各頂点への最小移動コストを出す。
|
E - Count Arithmetic Subsequences
公式解説(sotanishy) 部分列が等差数列になる組み合わせ数を求める。
|
F - Perfect Matching on a Tree
公式解説(sotanishy) グラフの最大重みマッチングを求める。
|
|
|
G - Count Substring Query
公式解説(toam) Sの部分文字列がTと一致する個数をQ回求める。
|
|||
| ABC361 |
A - Insert
公式解説(physics0523) 数列に数字を挿入
|
B - Intersection of Cuboids
公式解説(kyopro_friends) 立方体の衝突判定
|
Make Them Narrow
公式解説(physics0523) 要素をK個削除。最大値と最小値の差が最小になるようにする。
|
|
D - Go Stone Puzzle
公式解説(kyopro_friends) 石を2つずつまとめて移動。初期状態から終状態を作るのに必要な手数
|
E - Tree and Hamilton Path 2
公式解説(kyopro_friends) すべての頂点を1度は通る経路の最小値
|
F - x = a^b
公式解説(physics0523) a^b乗の形で表現できるN以下の数字の種類数
|
|
|
G - Go Territory
公式解説(kyopro_friends) 石で囲まれたマスの数を求める
|
|||
| ABC360 |
A - A Healthy Breakfast
公式解説(Cyanmond) 3文字の位置関係を出力
|
B - Vertical Reading
公式解説(MtSaka) c文字ずつで改行。縦に指定の文字列が出現するか判定。
|
C - Move It
公式解説(MtSaka) 各荷物が最初に入っている箱と重さが与えられる。すべての箱に荷物が一個ある状態にするのに必要な最小の移動量。
|
|
D - Ghost Ants
公式解説(MtSaka)
衝突しないアリが左右に動く。すれ違うアリの数を出力。
|
E - Random Swaps of Balls
公式解説(Cyanmond) 1個の黒とたくさんの白。場所を2つ選んでスワップ。黒の最終的な位置をmod下で求める。
|
F - InterSections
公式解説(MtSaka) N個の区間が与えられる。新しくL~Rの区間を張ったときに、交差する最大数を出す。一番左になるようにする。
|
|
|
G - Suitable Edit for LIS
公式解説(Cyanmond) 数列の値を1つ自由に変更できる。LISの最大長を求める。
|
|||
| ABC359 |
A - Count Takahashi
公式解説(MMNMM) 入力に指定文字列がいくつあるか数える
|
B - Couples
公式解説(nok0) 数列AのうちAiとAi+2が等しいものを見る
|
C - Tile Distance 2
公式解説(MMNMM) 横幅2高さ1のタイルを交互に互い違いに敷き詰める。ある点からある点までに踏むタイルの最小数を求める
|
|
D - Avoid K Palindrome
公式解説(MMNMM) A・B・?からなる文字列が与えられる。長さKの回文が発生しないように?に文字を入れる方法は何種類あるか
|
E - Water Tank
公式解説(MMNMM) 高さHiの壁がN個与えられる。手前から水を満たしたときにi個目の区画に水が入るのはいつになるか
|
F - Tree Degree Optimization
公式解説(nok0) 出次数の2乗と頂点の重みをかけたものの総和の最小値を求める
|
|
|
G - Sum of Tree Distance
公式解説(nok0) 未確認 |
|||
| ABC358 |
A - Welcome to AtCoder Land
公式解説(yuto1115) 文字列比較
|
B - Ticket Counter
公式解説(yuto1115) 到着時間と処理時間が与えられるので、実際に購入が終わる時間を出す
|
C - Popcorn
公式解説(yuto1115) M種類のうち一部を売っている売り場がN個。コンプに必要な売り場数。
|
|
D - Souvenirs
公式解説(cn449) Bを超えるAをペアにする。選択したAの最小値
|
E - Alphabet Tiles
公式解説(cn449) K文字以下の文字列の作り方。各アルファベットの使用可能回数も与えられる。
|
F - Easiest Maze
公式解説(yuto1115) 指定された経路長になる一本道を作れるか判定。実際に作る
|
|
|
G - AtCoder Tour
公式解説(cn449) |
| ABC329 |
A - Spread
公式解説(cn449) 文字列の間に空白を入れて出す
|
B - Next
公式解説(cn449) 数列Aの中の2番目に大きい種類の数字を出す
|
C - Count xxx
公式解説(yuto1115) 文字種が1つの部分文字列の種類数。位置が違っても中身が同じなら同じ列とみなす。
|
|---|---|---|---|
|
D - Election Quick Report
公式解説(cn449) N人の候補者にM票入れる。i票入れた時点の最多得票者を毎回出す。
|
E - Stamp
公式解説(yuto1115) #からなる文字列Xを文字列Tで一部上書きする。文字列Sに一致できるかどうか判定する。
|
F - Colored Ball
公式解説(cn449) 各箱に色のついたボールが一個ずつ入っている。各クエリで箱aの中身を箱bに入れ、箱bの中のボールの種類数を出力する。
|
|
|
G - Delivery on Tree
公式解説(yuto1115) 2分木上にスタートとゴールが与えられる。オイラーツアーでスタートとゴールの順番でM個の頂点を通るパターン数を出す。ただし、同時にボールを持てる数はK個まで。 |
|||
| ABC328 |
A - Not Too Hard
公式解説(leaf1415) 配列AのうちX以下の要素の和
|
B - 11/11
公式解説(MMNMM) Nヶ月あって、i月はDi日まで。同じ数字だけの日は何個あるか。
|
C - Consecutive
公式解説(leaf1415) 文字列SのLi~Riまでの間に同じ文字が2つ並んだ箇所がいくつあるか。
|
|
D - Take ABC
公式解説(leaf1415) AとBとCからなる文字列が与えられる。左からABCを削除し続けたときに残る最後の文字を出力する。
|
E - Modulo MST
公式解説(MMNMM) N頂点M辺のグラフから木を出す。この時、辺の重みの和がmodKの下で最小になるときのその値。
|
F - Good Set Query
公式解説(leaf1415) 長さNの数列Xと、Q個のクエリ。(a,b,d)で与えられてxa - xb = dにできるなら制約を足す。最終的に入っている制約を答える。
|
|
|
G - Cut and Reorder
公式解説(MMNMM) |
|||
| ABC327 |
A - ab
公式解説(Nyaan) 文字列中にabが連結している場所があるか
|
B - A^A
公式解説(Nyaan) BがAのA乗の形で表せるか
|
C - Number Place
公式解説(mechanicalpenciI) 数独の条件を満たしているかチェック
|
|
D - Good Tuple Problem
公式解説(Nyaan) 数列Aと数列Bがある。これとは別に01からなる数列Xがある。X_Ai != X_Biならよい数列。よい数列か判定する。
|
E - Maximize Rating
公式解説(mechanicalpenciI) 減衰があるレートの計算式が与えられる。取りうるレートの最大値を出す。
|
F - Apples
公式解説(mechanicalpenciI) ある時刻、ある場所にリンゴが落ちてくる。幅WのかごをD秒間だけ置く。回収できるリンゴの最大数を求める。
|
|
|
G - Many Good Tuple Problems
公式解説(Nyaan) 未着手 |
|||
| ABC326 |
A - 2UP3DOWN
公式解説(kyopro_friends) 2階上か3階したなら階段、それ以外エレベータ。階段を使うか判定。
|
B - 326-like Numbers
公式解説(kyopro_friends) 100の位×10の位=1の位となる数字を出す
|
C - Peak
公式解説(physics0523) 区間X ~ X+M)のプレゼントを獲得。最大数はいくつ?
|
|
D - ABC Puzzle
公式解説(physics0523) N×NのマスにABCの文字をルールに従っていれる。条件を満たす入れ方があればそれを出す。
|
E - Revenge of "The Salary of AtCoder Inc."
公式解説(physics0523) 止まったマスに書いてあるお金をもらえる。マスXにいるときにX以下の数字を出すとそこで終了。もらえるお金の期待値はいくつ?
|
F - Robot Rotation
公式解説(kyopro_friends) 各ステップで右か左に回転してからA進むロボットが指定した地点にたどりつけるか判定。回転の操作を出す。
|
|
|
G - Unlock Achievement
公式解説(kyopro_friends) |