024号文書

主にプログラミング

ABC118 参加メモ

ABC117に引き続き参加です。全完できました!

https://atcoder.jp/contests/abc118

rating

茶色になりました。 203 → 734 f:id:wotsushi:20190217002005p:plain

A

Aは1以上なので、BがAで割り切れるならば、AはBの約数です。

B

set型の積集合演算に甘えました。 すなわち、 \mid \{ A_{11}, A_{12}, \ldots, A_{1K_{1}} \} \cap \{ A_{21}, A_{22}, \ldots, A_{2K_{2}} \} \cap \cdots \cap \{ A_{N1}, A_{N2}, \ldots, A_{NK_{N}} \} \mid を求めるコードを書きました。

C

ざっと読んで難しそうだと感じました。 何となく、体力が最小のモンスターを選んで、適当なモンスターに攻撃を繰り返せばいいんじゃね、と予想します。 さらに何となく、それってGCDを求めるアルゴリズムに似ているなと直感します。 時間が惜しいので証明はパス。 gcd(A_1, \ldots, A_N) を解とするコードを提出したら通りました。

GCDでよい理由は、けんちょんさんの記事が参考になるかと思います。 http://drken1215.hatenablog.com/entry/2019/02/16/224200

D

貪欲に桁増やすだけじゃね、と思いましたが、マッチ棒をすべて使い切る制約が厄介そうです。 大人しくDPしました。 境界条件の処理をミスって一回WA. ACしたコードはかなり汚いので、きれいにしたい。

感想

全完できて嬉しかったです。 今後も400点問題を解けるように精進します。