aacord’s memo

abcを中心にpythonで解いた問題のメモ、整理をしています。緑になった。

青diff

arc 050 B - 花束 (python)

二分探索2つめ。 答えを n と仮定したときに n が条件を満たすかどうかは (a, b) = (x, 1)*k + (1, y) * (n - k) とおいたときに、R >= a かつ B >= b を満たす 0以上 n以下の整数 k が存在することと同値である。 (厳密にはさらに n これを正負に注意して…

abc 023 d '射撃王' (python)

二分探索の問題。二分探索はここのサイトがとても参考になった。 めぐる式二分探索 コピペで使えるPython実装 - 学習する天然ニューラルネット 答えを arg と仮定した場合にそれが条件をみたすなら、arg+1についてもまた調べる、満たさないなら、arg//2 につ…

abc 110 D - Factorization (python)

題名からして素因数分解するのは間違いないとして、約数の積が何通り作れるかを考えるのだが… 頭が固くて自力では解けなかった。解説AC 例えば n=4 , m=360 (2^3*3^2*5^1) とすると答えとなるものは A1*A2*A3*A4 = 360 となるものであるが、 A1 は 360の約数…

abc 162 f(python)

解説AC。文字列の偶数番目と奇数番目で条件をかえながら dp を作った。 文字列の長さが奇数のときは、2つ飛ばしを2回まで、または3つ飛ばしを一回まで使うことができる。 よって dp[i][[j] を i = i 番目の数字、 i が偶数なら j = 0(もう一つ飛ばししかで…