AtCoder Regular Contest 112 参加記

2021/2/13に開催されたAtCoder Regular Contest 112に参加しました。

atcoder.jp

ここ最近の精進不足が祟ったのか、前回のABCは惨敗で、レートは緑ギリギリまで落ちました。今回は、緑以上のパフォーマンスは取れるようにとの気持ちで臨みました。

とはいえ、如何せん前回ARCも灰色パフォだったので、正直不安の方が大きかったですが。。

今回の結果

というわけで、なんとか頑張った結果が、2完死守でした。

ARC112結果

ARC112結果

正直、緑パフォいってるかどうか微妙という感想でしたが、なんとか緑維持には十分なパフォーマンスだったようで、命拾いしました。

振り返り

A,Bをなんとかやり終えて力尽きました。

ARC112提出結果

ARC112提出結果

A問題

A - B = C

L以上R以下の整数A,B,Cの組であって、A - B = Cとなる組み合わせを数え上げる問題。最初10分以上解法を悩んでいたが、気付いたら順位表上はすでに1000以上ACが出てたのびっくりしてしまったw

とりあえず思いついた解法としては、A = B + Cと式変形し、A2L + 1からRまでの範囲で順番に固定しながら数え上げる方法。ぞれぞれのAに対して、A - 2L + 1がプラスの場合、答えに足し合わせる。

上記の方法でサンプルも合ったので一度投げてみたら、ループ処理で予想外時間を取られてしまい、TLEを食らってしまいました。

等差数列の和の公式で計算することでなんとかAC。

B問題

B - -- - B

これも結構ややこしい問題。大分頭を悩ませたが、以下の解法で対応しました。

先ず、与えられた条件で、0が作れるかを計算する。

  • 0が作れる場合
    条件上作成できる最大値と最小値の区間の数を数え上げる
  • 0が作れない場合
    正の範囲、負の範囲それぞれで作成できる最大値、最小値を計算し、それぞれの区間の数を数え上げた和を答えとする。

以上で、なんとかACが取れました。結構簡単に書いてるが、実装が結構ややこしくなってしまい、これが解けたのが開始90分後。大分苦戦してしまいました。

C問題

C - DFS Game

DFSしろというのは何となくわかるが、最適な戦略のところから全く分からずでした。

D問題

D - Skate

解法が全く思いつきませんでした。

E問題

E - Cigar Box

問題すら見れていません。

F問題

F - Die Siedler

問題すら見れていません。

これまでの実績

なんとか緑キープとなりましたが、まだ安全圏とは言えません。

もう少し上抜けてくれればというところです。

コンテスト実績

コンテスト実績

総括

今回はなんとか2完を死守しましたが、このままでは現状維持も厳しいかなという危機感を感じています。最近は仕事が忙しいため、なかなか精進の時間がとれていませんが、とりあえず1日あたり最低1問解くぐらいは精進の時間を取れるようにしたいと思います。

また、次回も頑張ります。