AtCoder Beginner Contest 180 参加記

2020/10/17に開催されたAtCoder Beginner Contest 180に参加しました。

atcoder.jp

もともとこの週末はABCコンテスト無しかなという認識でいたんですが、金曜午後ぐらいになってAtCoder公式からABCやるかもツイートがあったので一応気にはかけてました。

で、結局当日の午後3時すぎという、開催まで4時間切ってる段階での開始決定。その時点で外出中だったので、ちょっと今回は参加するかどうか迷いましたが、ちょいと予定より早めに帰宅して参加することにしました。

今回の結果

で、今回の結果はボチボチの4完終了となりましたー。

ABC180結果

ABC180結果

解けた問題の難易度を考えると今回も緑パフォーマンスぐらいかと予想してましたが、果たしてその通りでした。

レートはまた少し上昇。着々と緑まで近づいています。

振り返り

今回は、しょうもないミスを繰り返してしまいました。

ABC180提出結果

ABC180提出結果

A問題

A - box

 N - A + Bを計算すればOK。問題なくAC。

B問題

B - Various distances

 問題にある式どおりに計算すればOK。の、、筈でしたが、値をintで計算したのでオーバーフローしたり、そもそもチェビシェフ距離の計算式が間違ったりで合計2WAも喰らいました。

3回目でどうにかAC。

C問題

C - Cream puff

Nの約数を昇順に列挙する問題。 

素数がどうのこうのと考えるよりは、普通に計算した方が早いかと判断し、2から\sqrt{N} + 1までの整数それぞれでNを割り、余りが0なら、割った数と商をそれぞれTreeSetに入れるというやり方を選択しました。

が、、N = 1の時に1、1と出すというバグを踏んでWA。。

小ミスが多いなとボヤキながら、なんとかAC。

D問題

D - Takahashi Unevolved

 強さと経験値の増え方を愚直にシミュレーションするやり方で解きました。

現在の強さをA倍した場合と、B足した場合を比較し、後者の強さが小さい場合は後者を選択し、そうでなければ前者を選択するという方式で、強さがYを超えないギリギリのところまでシミュレーションを繰り返しました。

初回の提出では、効率化ができておらずTLEを喰らいましたが、ロジックを改善した2回目の提出でなんとかAC。

E問題

E - Traveling Salesman among Aerial Cities

 残り30分ちょいでEまでたどり着きましたが、ここが限界。

問題を一読する限り、各都市間の距離を前処理で計算しておいて、DFSなんかで最短距離を出すのかなー?的な印象でしたが、結局あれこれ試行錯誤した結果、コンテスト終了までに実装が追いつきませんでした。

実際、このブログを書いている今でも解法は分からずじまいなのですが、今週中に自力ACをしようかというところです。

F問題

F - Unbranched

 順位表みる限り、めっちゃ難しい問題雰囲気なんで早々に諦めでした。

また、後日解説ACします。

これまでの実績

前回のABC179の時点では灰落ちするかもー的なことを書いてましたが、直近はなんとか上昇傾向になっています。

コンテスト実績

コンテスト実績

 

総括

問題が解けなかったことも反省点ですが、今回ミスが結構多かったのがより大きな反省材料かと感じています。B、C問題のミスについてはもう少し要因を分析せねば。。 

というわけで、また、次回も頑張ります。