2022/6/19に開催されたAtCoder Regular Contest 142に参加しました。
土曜のABCは所用のため不参加でした。ということで、今週のレート増減は日曜のARCに賭けるのみ。
今回のA問題は300点だそうなので、0完はなさそうという印象でしたが、いつもARCでは0完を避けることを心がけているので、今回もその気持ちで臨むこととしました。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年6月19日
0完爆死だけはしないように頑張ります✊
AtCoder Regular Contest 142 - AtCoder https://t.co/rr75lSMjVO
今回の結果
で、今回はなんとか2完を達成することができましたとさ。
順位が1000位近辺だったので、レートが上がるかどうか微妙かと思ってましたが、結果をみると、なんと水パフォ。なんとかレートも上昇という形になりました。
ABの2完。
— devgenjin77 (@devgenjin77) 2022年6月20日
Cを解き切れなかったのは残念でしたが水パフォ出たのでヨシ!😃
devgenjin77さんのAtCoder Regular Contest 142での成績:1028位
パフォーマンス:1240相当
レーティング:1042→1063 (+21) :)#AtCoder #ARC142 https://t.co/QLRgKA660z
振り返り
C問題を解き切ることができませんでした。
A問題
とりあえず、単純な見た目をしており、計算量はあまり考慮しなくて良さそうな問題という印象。
まず、に10を0回以上かけた数字が何個以下となるかをカウントし、その次にを左右反転した数字に対しても同じことを行う感じの実装を行う。が、、これはWA。
を左右反転しても同じ数の場合を見落としていた模様。ということで、対象となる数をSetで管理して、最後にSetのサイズを返すように変更することでACが取れましたとさ。
ちなみに、実装当初、を反転した数字がより小さい場合は答え0というバカ避けのロジックをとりあえず入れておいたのですが、実際のテストケースではそのようなコーナーケースがあった模様。。
まあ、なんにせよ気になるロジックは入れといて損はないということを学びました。
14分11秒1ペナで1完。
提出コード
https://atcoder.jp/contests/arc142/submissions/32593224
B問題
これは、解法が早めに思いついてくれたので助かった。
上の行から順番に数字を埋めていった形から、奇数行と偶数行を入れ替えると、ある行から上と下の行を見た時には全て大きい関係になるか、全て小さい関係になるので、問題の条件は満たせる。
あとは少し重たい実装を行なって提出。ACが取れましたとさ。
36分0秒1ペナで2完。
C問題
なんか久々に見たインタラクティブ系の問題。
とりあえず、初手では、頂点1と2から、そのほかの頂点の距離を質問し、答えを、(1から頂点iの距離+2から頂点iの距離)の最小の値としてみる。。がこれはWA。
ここで、1と2が隣り合う場合のケースがダメと気づく。この場合、全てのiについて、(1から頂点iの距離ー2から頂点iの距離)の絶対値が1になる筈、、ということで実装して提出したら、これがなんと1ケースだけ通らず。。。
あとは時間いっぱい、どんなケースがダメそうかを考えて、行き当たりばったりに実装と提出をしてみるものの、ACには至らずで時間切れとなりましたとさ。
今回のCは、通せてれば相当パフォーマンスが跳ねた筈なので、通せなかったのが悔しいです。
D問題
順位表から見るにD問題以降はお通夜状態のようなので、問題すら見ておりません。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
とりあえず、直近のHighest付近まで戻せました。
総括
今回はCが解けずで、レートは跳ねませんでしたが、個人的には惜しいところまで行ったという印象です。
ARCは、どちらかというとABCのような典型問題よりも考えがいのある問題が多いという印象。来週もARCがあるので、高パフォーマンスが出せるように精進していこうと思います。
ということで、また次回も頑張ります。