AtCoder Beginner Contest 246 参加記

2022/4/2に開催されたAtCoder Beginner Contest 246に参加しました。

atcoder.jp

前回のABCはコンディションが万全でなかった事もあって、久々の茶パフォでレート暴落という回でした。

前回下げた分を少しでも取り戻すべくということで、今回は5完以上を目標に臨むこととしました。

今回の結果

今回は、なんとか4完を確保というところでした。

ABC246結果
ABC246結果

パフォーマンスは、一応緑の上位まで出ており、なんとかレートを上げることに成功しました。

振り返り

前半でやたらともたついてしまいました。

ABC246提出結果
ABC246提出結果

A問題

A - Four Points

いきなりの図形っぽい問題。。

とりあえず、x_1,x_2,x_3のうち1度しか出ていない数値がxの答え。y_1,y_2,y_3のうち1度しか出ていない数値がyの答えと気づくのに3分程度要しました。

その後、出現数をまじめにカウントするのに、MapかSetを使うか悩んだりしながら、なんとか実装に漕ぎ着けてACを取ることができました。

だいぶ実装に苦労したA問題。コンテスト後、いろんな人の実装をみてると、XORを計算するシンプルな解法があったとのことで愕然としました。。

10分34秒で1完。Aで10分超えてしまうとは。。。

提出コード

https://atcoder.jp/contests/abc246/submissions/30634404

B問題

B - Get Closer

三角関数使う系の問題かと思われるB問題。数学が得意でない自分は、色々と三角関数の基本的な解説のページをググりながら、なんとか解法を見つけることができました。

結局、(0,0)(A,B)の距離dを求めて、(\frac{A}{d},\frac{B}{d})を答えとして出力することでAC。

19分49秒で2完。序盤はだいぶ立ち遅れ気味です。

提出コード

https://atcoder.jp/contests/abc246/submissions/30640738

C問題

C - Coupon

少しややこし目の計算問題。方針としては、値段の高いほうからクーポンを満額使える分を使っておき、クーポンが余ってしまったら、使えなかった端数のうち大きい金額を優先して使うようにすれば良いという感じ。

で、実装に取り組んでみると、KXの扱いが逆になってたりと色々バグらせてしまい、提出がだいぶ遅くなってしまったものの、なんとかACを取ることに成功。

47分39秒で3完。順位を見てみると、やっと3700位台というところで、このままでは再び茶パフォの危機かと冷や汗をかいておりました。。

提出コード

https://atcoder.jp/contests/abc246/submissions/30652723

D問題

D - 2-variable Function

前回同様、訳わからん方程式が出てきたという印象のD問題。

初手でどうすれば良いのかよくわからず、だいぶ手詰まり感があったのですが、Nが最大の場合でも3乗根は10^{6}程度なので、 0 \le a \le \sqrt[3]{N}を全探索して、bを二分探索すればなんとか行けるのではないかと想定。

ということで実装してみましたが、サンプル3がなぜか通らず。。苦し紛れに色々探索範囲をいじくり回したりして、なんとかサンプルが合うところまで漕ぎ着けたので、そのまま提出し、なんとかACを取ることができましたとさ。

90分6秒で4完。多分これでレートが落ちることはないかということで少し安心しました。

提出コード

https://atcoder.jp/contests/abc246/submissions/30667042

E問題

E - Bishop 2

残り10分足らずというところで、なんとか問題を見てみたところ、BFSでやれば解けるのではないかという印象。

しかし、実装時間があまりにもなさすぎというところで、考察をするだけで今回は時間切れ終了となりましたとさ。

F問題

F - typewriter

問題すら見ておりません。

G問題

G - Game on Tree 3

問題すら見ておりません。

Ex問題

Ex - 01? Queries

問題すら見ておりません。

これまでの実績

再びレートを4桁に乗せることができました。次は落ちないようにしないと。。

コンテスト実績
コンテスト実績

総括

今回は二分探索を使うD問題がコンテスト中に通せたのが良かった点です。ただ、実装の正確性に欠けるところがあるので、その点は改善しないといけないなーというところ。

反省点としては、A、B、C問題でやたらと時間がかかってしまったところ。苦手な問題が多かったですが、この辺は今までのABC過去問で対策していくしかないでしょうね。

まだまた目標の水色は遠いですが、とりあえず粛々と精進を続けていこうと思います。

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