AtCoder Regular Contest 133 参加記

2022/1/22に開催されたAtCoder Regular Contest 133に参加しました。

atcoder.jp

先週のコンテストは所用で参加できなかったのですが、今週は土日ともRatedコンテストが続くということで、先週参加できなかった分今週は連勝して帳尻を合わせようかなという気持ちで臨むこととしました。

今回の結果

で、結果の方はというと、なんとか1完できましたという体たらくでした。。

ARC133結果
ARC133結果

それでもパフォーマンスは緑色まで取れており、結果としてはなんとかちょい冷えというところで勘弁してもらえました。

振り返り

B問題以降は歯が立たずでした。

ARC133提出結果
ARC133提出結果

A問題

A - Erase by Value

サンプルケースを眺めたところ、配列を先頭から見て行って、A_i \gt A_{i+1}となるA_ixとして定義すればよいかと考察。

また、そのようなA_iが存在しない場合は、x = A_Nとすれば良いかと。

ということで実装して提出したものの、バグがあったようでWA。再度処理を見直してACを取ることができました。

提出コード

https://atcoder.jp/contests/arc133/submissions/28685237

B問題

B - Dividing Subsequence

一読して、解法がよく分からん手強そうな問題という印象。

とりあえず、サンプル入力を見て考えたところ、P_iを見たときに、i \ge jとなるjについてQ_jP_iの倍数ならば答えをカウントアップし、次からQを見るときはQ_{j+1}以降からみていくという、嘘くさい解法を考えてみる。

で、実装したらサンプルまでは通ってくれたものの、やはり嘘解法だったようで提出したらWAとTLEのダブルパンチを食らってしまいました。。

やはりこの問題は何らかの典型アルゴリズムの知識が必要かとおもい、LCSのアルゴリズムをググってみたりとか色々悪あがきをしてみるが付け焼き刃の知識ではどうにもならず。

結局、この問題であれこれ考えている途中で時間切れとなりました。

C問題

C - Row Column Sums

こちらの問題も、目を通してみるものの何もわからず。とりあえず順位表からみると難易度も相当高そうなので早々に諦めとなりました。

D問題

D - Range XOR

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

E問題

E - Cyclic Medians

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

F問題

F - Random Transition

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

これまでの実績

1完だった割には、爆死は免れました。

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

総括

2022年最初のARCは1完で冷えという残念な結果でしたが、これも青Diff程度の問題にまだまだ取り組めておらず、アルゴリズムの知識がまだ足りないというのが原因かと。

今年は、水色コーダーになるという目標を立てているので、なんとか今回のB,C問題は復習をし、次回同様な問題が出たときに対応できるようにしていこうと思います。

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