2022/10/9に開催されたAtCoder Regular Contest 150に参加しました。
昨日のABCでは、あわや青パフォかという結果となり、入水まであとすこしというところまで来ました。
今回のARCには、なんとか入水を決めようということで、目標は高く3完を目指して臨むこととしました。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年10月9日
今回も3完目指して頑張ります✊
AtCoder Regular Contest 150 - AtCoder https://t.co/otpsmj3SyI
今回の結果
で、今回は1完がやっとという体たらく。。
流石に今回は3桁パフォで爆死かと思いましたが、結果をみるとなんとか緑パフォ。なんとかレートは1桁減というところで勘弁してくれました。
1完でしたが、そこそこパフォーマンスがでたので、かすり傷ですみました😅
— devgenjin77 (@devgenjin77) 2022年10月9日
また来週がんばります。
devgenjin77さんのAtCoder Regular Contest 150での成績:1542位
パフォーマンス:1105相当
レーティング:1184→1176 (-8) :(#AtCoder #ARC150 https://t.co/W6xZLptU3O
振り返り
A問題を解き切るだけで精一杯でした。
A問題
今回はサクッと解こうと考えていたA問題。一読すると、これがやたらと難しく感じる。。
まずは、文字列の中のとをどう管理するかでだいぶ悩む。結局、ある位置より前もしくは後ろにかがあるかが判定に重要そうなので、TreeSetでとの位置を管理することにしてみる。
次に、文字列を先頭から一つずつ位置を決めて見ていった時、決めた位置から右にの並びを個作ることができ、かつその後にが無いかをみる。作れる位置が一つだけなら答えはYesとなる。
この条件を満たすには、決めた位置より左にが無いこと、右に個以内にが無いこと、右に個より後にが無いことが分かればよい。
ということで実装し、提出したら、これが見事にWA。。。
個人的にはイケそうという確信があったので、どんなケースでつまづいたのかよくわからん。ということで、とりあえず、ローカルでいろんなパターンを試してみることに。
すると、など、が無いパターンが間違ってるということで、にが無い場合、ならOK、それ以外はNGとかいろんな場合分けを入れてみる。
が、、結局よくよくみると、For文の継続条件がバグってたということに、初回提出から30分ほど経って気づいてしまう。
ここのバグを修正して提出したところ、なんとかAC。とりあえず、0完爆死だけは免れることが出来ましたとさ。
79分31秒1ペナで1完。A問題で相当時間を持ってかれてしまいました。。
提出コード
https://atcoder.jp/contests/arc150/submissions/35545193
B問題
問題を一読して考えるも、全くわからず。
とりあえず、とのを使ってなんとかならないかという線で考えてみる。
まずとのを取り、がより小さい場合はにを足す。そうで無い場合は、にを足してみる。
これをがになるまで繰り返すという、なんかそれっぽい実装をしてみる。
が、サンプルを通してみると、たしかにそれっぽい値はでるが、てんで合わないという結果。結局これ以上はなにもわからずで終了です。
C問題
問題すら見ておりません。
D問題
問題すら見ておりません。
E問題
問題すら見ておりません。
F問題
問題すら見ておりません。
これまでの実績
とりあえず傷が浅くて済んだのがなによりです。
総括
今回は、あわや0完で爆死というところでしたが、なんとか1完を勝ち取ることができました。
やはりARCは、問題セットの相性が結果に大きく響いてしまいますね。もうこのあたりは、回数をこなして乗り越えるしかないのかと考えています。
ということで、また次回も頑張ります。