2022/7/9に開催されたAtCoder Beginner Contest 259に参加しました。
先週のABCでは、水色パフォを出すことが出来、下がり気味だったレートも少し戻すことができました。
今回は、その流れに乗れるようにということで、水色パフォーマンスを出すことを目標として挑むことにしました。
Rated参加します。今回も水パフォ目指して頑張ります✊
— devgenjin77 (@devgenjin77) 2022年7月9日
AtCoder Beginner Contest 259 - AtCoder https://t.co/w74mYFYcU8
今回の結果
しかしながら、今回は3完止まりという残念な結果となりました。。。
茶パフォで暴落かと覚悟しましたが、なんとか緑パフォの下位辺りで勘弁してくれたようで、レートの方は少し下がるという結果となりました。
3完緑パフォで負け😢
— devgenjin77 (@devgenjin77) 2022年7月9日
まあ、傷は浅かった方かと。。
devgenjin77さんのAtCoder Beginner Contest 259での成績:2862位
パフォーマンス:911相当
レーティング:1049→1036 (-13) :(#AtCoder #ABC259 https://t.co/epUPCJbPrp
振り返り
Dでバグりちらかしてしまいました。
A問題
変数が5個もあり、なんか条件分岐が複雑そうな問題。題意を読み解いて整理するのが大変でした。
まとめてみると、の場合は、が答え。それ以外の場合は、を答えとして出力すれば良い。
実装に少し手間取りながらもなんとかACを取り切ることができました。
7分5秒で1完。A問題にしては、だいぶ時間が取られてしまいました。
提出コード
https://atcoder.jp/contests/abc259/submissions/33077040
B問題
三角関数を駆使するんだろうなーという感じの問題。
とりあえず、原点から、への距離を求め、とにそれぞれ掛けた値を求めてみるが、違うっぽい。
ということで、原点から、を見た時の角度も考慮に入れないとダメっぽいので、仰角を求める方法などをググってみる。
そして、三角関数に入れるラジアンに、先ほど求めた仰角を足してみたところ、サンプルが通ってくれたっぽいので、そのまま提出。なんとか、ACが取れましたとさ。
24分43秒で2完。今までのABCとは違い、だいぶ苦戦しております。
提出コード
https://atcoder.jp/contests/abc259/submissions/33087987
C問題
をそれぞれ連長圧縮することで、なんとかなりそうな問題。
とはいえ、ライブラリ的なものはないので、とりあえず実装。
あとは、をそれぞれ連長圧縮した後、文字の並びと数が合っているか。その次に片方の文字長が1の場合は、他方の文字長が1か。1でない場合は、の方が大きいかを判別。
多少、実装が長くなったものの、なんとか一度の提出でACを取り切ることができましたとさ。
36分55秒で3完。少し取り戻した感があります。
提出コード
https://atcoder.jp/contests/abc259/submissions/33094321
D問題
読み進めてみると、各円をグラフの頂点とみなし、スタート地点に接している円と、ゴール地点に接している円が同じ連結成分に属しているかを判定する問題の様に見える。
制約から見ても、円同士の連結判定で使っても大丈夫そう。
ということで、あとは、円同士が接点を持つかどうかの判定と、スタート地点とゴール地点はどの円に属するのかを判定できれば良い。
前者については、とりあえずググってみると中心点の間の距離と、円の半径を見れば判定可能な模様。
後者については、各円の中心から、スタート及びゴール地点それぞれの距離を見たときに、円の半径と一致しているかを判定すれば良い。
ということで実装してみて、サンプルまで通ったものの、なんとWA×3を喰らってしまう。。。
当初、のコーナーケースがおかしいかと思ったが、それは関係無いっぽい。
円の半径と距離の判定で、途中計算でdoubleを使っている事による誤差が原因かと少し思いましたが、それを修正するには大分時間が掛かりそうなので、他の線をまず洗ってみるも、結果は芳しくない。
ということで、結局WAは取れずじまいとなりましたとさ。。
解説を見ると、考えかたは合っているみたい。なのでWAの原因は恐らくdoubleで計算したことによる誤差である模様。。こんな凡ミスで解ける問題を落としてしまい、非常に残念な気持ちです。
E問題
ワンチャンあるかと、問題を見てみるも、なにも解法が浮かばずで、早々に諦め。
F問題
問題すら見れておりません。
G問題
問題すら見れておりません。
Ex問題
Ex - Yet Another Path Counting
問題すら見れておりません。
これまでの実績
上げた翌週は下げという流れが続いております。。
総括
少し前も似たような感じで、解けたはずの問題を解けなかったという事があったような気がします。
やはり、こういった取りこぼしは、無くしていきたいものですが、なかなか無くならない。こういったところを改善していくには、やはり実装経験を積んでいくことしかないかと思う次第です。
ということで、また次回も頑張ります。