AtCoder Regular Contest 104 参加記

2020/10/3に開催されたAtCoder Regular Contest 104に参加しました。

atcoder.jp

さて、私自身AtCoderを始めたのが今年の5月ぐらいなので、ARCというのに参加するのが今回初めてです。そのためARCがどういう位置付けなのかはわかってませんが、まあなんかいろいろ情報を収集してみて、ABCとAGCの中間ぐらいのやつかないう認識です。

配点をみてると、なんとか2問程度は解けるかなという感じだったんで、2完以上を目標にすることにしました。

今回の結果

で、今回は結果は目標通りの?2完でしたー。

ARC104結果

ARC104結果

2完でもパフォーマンスはそこそこだったので、レートの方は上がってくれました。

振り返り

C以降は全く歯がたたずでした。

ARC104提出結果

ARC104提出結果

A問題

A - Plus Minus

方程式を解いていく。

 A + B = 2Xとなるので、Xは求めるのが簡単。

XがわかればY= A - Xなので、Yも簡単に求まります。

あとは、実装だけしてAC。

B問題

B - DNA Sequence

文字列Tが問題文にあるような条件を満たすかを判定するには、文字列Tの中に存在する'A'の個数と'T'の個数、'C'の個数と'G'の個数がそれぞれ同じかを判定すれば良いです。

あとは文字列Si文字目までにある'A','T','C','G'各文字のそれぞれ個数がわかるような配列を前処理で作っておけば、累積和を計算する要領で、文字列Tが条件を満たせるかを速く判定できます。

実装に少してこずったものの、なんとかAC。

C問題

C - Fair Elevator

 問題文の言ってることが最初よくわかりませんでした。

しかし、よくよく考えて、エレベータ内部をキューに見立てるといいんじゃないかという考えに至りました。先に入った人が先に出る。後に入ってきた人が、その時にいた人より先に出ることは無いという条件が満たせればOK。

 

と、いうとこまでは考察できたんですが、結局、記録の欠落してる部分のパターンをよく考えたときに実装できるような解法が思い浮かばすで、断念しました。

D問題

D - Multiset Mean

 問題文は見ましたが、解き方が全く不明でした。

E問題

E - Random LIS

 このあたりまでくると、問題文もろくに読めずでした。

F問題

F - Visibility Sequence

 Eとおんなじで、問題文もろくに読めず。

これまでの実績

なんとかここ数回の下げ分は取り戻しましたが、緑はまだまだ遠そうです。

コンテスト実績

コンテスト実績

総括

今回のコンテストでは、C問題が解けると大分パフォーマンスが跳ね上がってくる感じでしたが、それができるようなレベルに上がるためにはまだまだ精進が必要であると感じました。

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

追伸

で、さらなる向上をめざすべく、TLで話題になってた、アルゴリズム本をさっそく購入しました。少なくとも年内には読み通してみようかと思ってます。

アルゴリズム本

アルゴリズム