2020/10/17に開催されたAtCoder Beginner Contest 180に参加しました。
もともとこの週末はABCコンテスト無しかなという認識でいたんですが、金曜午後ぐらいになってAtCoder公式からABCやるかもツイートがあったので一応気にはかけてました。
で、結局当日の午後3時すぎという、開催まで4時間切ってる段階での開始決定。その時点で外出中だったので、ちょっと今回は参加するかどうか迷いましたが、ちょいと予定より早めに帰宅して参加することにしました。
AtCoder Beginner Contest 180 - AtCoder https://t.co/if9kq7Ca1u
— devgenjin77 (@devgenjin77) 2020年10月17日
今日いきなり開催決定されたようですが、参加します。前回の2完よりは良い成績を残せるよう頑張ります。
今回の結果
で、今回の結果はボチボチの4完終了となりましたー。
解けた問題の難易度を考えると今回も緑パフォーマンスぐらいかと予想してましたが、果たしてその通りでした。
レートはまた少し上昇。着々と緑まで近づいています。
devgenjin77さんのAtCoder Beginner Contest 180での成績:2010位
— devgenjin77 (@devgenjin77) 2020年10月17日
パフォーマンス:911相当
レーティング:659→689 (+30) :)
Highestを更新しました!#AtCoder #ABC180 https://t.co/lnRTyLYcpk
4完緑パフォでした。もうちょい上のパフォーマンス出せるように、これからも精進します。
振り返り
今回は、しょうもないミスを繰り返してしまいました。
A問題
を計算すればOK。問題なくAC。
B問題
問題にある式どおりに計算すればOK。の、、筈でしたが、値をintで計算したのでオーバーフローしたり、そもそもチェビシェフ距離の計算式が間違ったりで合計2WAも喰らいました。
3回目でどうにかAC。
C問題
の約数を昇順に列挙する問題。
素数がどうのこうのと考えるよりは、普通に計算した方が早いかと判断し、からまでの整数それぞれでを割り、余りが0なら、割った数と商をそれぞれTreeSetに入れるというやり方を選択しました。
が、、の時に1、1と出すというバグを踏んでWA。。
小ミスが多いなとボヤキながら、なんとかAC。
D問題
強さと経験値の増え方を愚直にシミュレーションするやり方で解きました。
現在の強さを倍した場合と、足した場合を比較し、後者の強さが小さい場合は後者を選択し、そうでなければ前者を選択するという方式で、強さがを超えないギリギリのところまでシミュレーションを繰り返しました。
初回の提出では、効率化ができておらずTLEを喰らいましたが、ロジックを改善した2回目の提出でなんとかAC。
E問題
E - Traveling Salesman among Aerial Cities
残り30分ちょいでEまでたどり着きましたが、ここが限界。
問題を一読する限り、各都市間の距離を前処理で計算しておいて、DFSなんかで最短距離を出すのかなー?的な印象でしたが、結局あれこれ試行錯誤した結果、コンテスト終了までに実装が追いつきませんでした。
実際、このブログを書いている今でも解法は分からずじまいなのですが、今週中に自力ACをしようかというところです。
F問題
順位表みる限り、めっちゃ難しい問題雰囲気なんで早々に諦めでした。
また、後日解説ACします。
これまでの実績
前回のABC179の時点では灰落ちするかもー的なことを書いてましたが、直近はなんとか上昇傾向になっています。
総括
問題が解けなかったことも反省点ですが、今回ミスが結構多かったのがより大きな反省材料かと感じています。B、C問題のミスについてはもう少し要因を分析せねば。。
というわけで、また、次回も頑張ります。