aacord’s memo

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

2020-05-03から1日間の記事一覧

arc 034 C - 約数かつ倍数 (python)

b より大きく、a 以下の数字の積の約数の数の個数を求めればいいのだけれど、b,a が大きすぎてそのまま掛け算をするとオーバーフローする。 なので一つずつ素因数分解して、個数分だけ素数をリストに入れていって、あとで collections.Counter で数えた。 a,…

Tenka1 Programmer Beginner Contest C - Align (python)

C - Align数列を並び替えて隣り合う2数の差の最大値を求める問題。 直観的に一番小さいものと一番大きいものが隣り合うように、出来るだけ真ん中に置くように並べるのがいいと予想できるが、単にそれを実装するのではなく、 隣り合う2数の差 = 大きいもの…

abc 165 C - Many Requirements (python)

今回の反省と学び 19C10 ≒ 46000 くらいの全探索が通ること。(総数が19C10 なのは分かっていた) 重複組み合わせの itertools が用意されていること。 itertools 使うときは順列の要素がデフォルト時は 0 から始まるので注意 次は5完する。 import sys inpu…

abc 165 e Rotation Matching (python)

サンプル2が結構ヒントになった。 まず m が最大値の時に条件を満たせばいいとわかる。 そして、初めの割り当ての2数 ( a, b ) の差(a 一周すると (1,b+n-a+1) となるから、 n = 奇数のときは一周すると偶奇が変わる、n = 偶数のときは偶奇が変わらないと…