全探索

ABC307C - Ideal Sheet

考え方 回答例 考え方A, B, Xは少なくとも1つの黒マスを含むため,A, BはXと必ず重なる. Xの左上のマスの座標を(9, 9)として,A, Bそれぞれの左上のマスが(0, 0)〜(19, 19)となる場合を全探索する.全部の黒マスを使ったかどうかをsetで管理する.回答例 HA…

ABC300D - AABCC

考え方 回答例 考え方素数はエラトステネスの篩(ふるい)で列挙できる.$a^{5} $2^{2}\times 3 \times c^{2} \leq 10^{12}$より$c \leq 10^{6}/\sqrt{12} この範囲で全て調べれば良い.回答例 N = int(input()) MAX = 300000 prime = [] is_prime = [True] …

ABC296D - M<=ab

考え方 回答例 考え方探索範囲を絞ったあと,全探索できる.アライグマ「D問題はa≦bの条件をつけて考えるのだ! a≦ceil(√M)の範囲だけ調べればいいのだ。aを決めたら、abがギリギリM以上になるようなbを求めて、a,bがN以下なら答えの候補なのだ!」— 競技プ…

ABC293C - Make Takahashi Happy

考え方 回答例 考え方全通りの経路を再帰でみていけば良い.回答例 H, W = map(int, input().split()) A = [list(map(int, input().split())) for _ in range(H)] def f(x, y, seen): global ans if x == H - 1 and y == W - 1: ans += 1 return if x + 1 < …

ABC255E - Lucky Numbers

考え方 回答例 参考 考え方問題文から, $A_{i}$を一つ決めれば「良い数列」はきまる $O(MN)$くらいは許される がわかる.よって,$A_{i} = X_{j}$となる$(i, j)$の組み合わせを全探索できそう.$A_{i} = X_{j}$となるそれぞれの場合について,$A_{1}$が何に…

ABC200D - Happy Birthday! 2

解法1:鳩の巣原理+bit全探索 考え方 回答例 解法2:DP+経路復元 考え方 回答例 解法1:鳩の巣原理+bit全探索考え方200で割った余りは200通りだけであるから,201個調べれば必ず同じものがある.$2^{N} > 200$となる最小の$N$は$8$なので,先頭の$8$個を…

ABC195D - Shipping Center

考え方 回答例 考え方以下2点がポイント. 制約がユルイので,マッチングを全探索できる(bisectは必要ない.3重ループで間に合う.) 貪欲法で解ける 貪欲法の考え方は,2パターンある. 「箱」を順番に見る:「後ステップに大きい箱を残す」ことは,「それ…

ABC249C - Just K

考え方 回答例 考え方以下と同じ考えで解ける. ABC246F - typewriter - 競プロはじめました文字列を26bitで管理し,$N$個のうちどの文字列を選ぶかをbit全探索する.すべての場合について,26文字が何回出てくるかカウントする.最後に,$K$回出てくる個数…

ABC246F - typewriter

考え方 回答例 考え方 包除原理 Editorial - AtCoder Beginner Contest 246$k$段目のキーにどの文字が含まれるかを26bitで表す.キーの組み合わせをbit全探索する(1 〜1 ).各キーの組み合わせにおいて,選んだ全てのキーに共通して含まれる文字種の数を求…