2022/9/10に開催された、ユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268)に参加しました。
先週土曜のABCでは大きくレートを上げて、もう少しで水色到達というところまで来ることができましたが、日曜のARCで惨敗してしまい、水色への道は遠いものとなりました。
今回のABCでは、とりあえず日曜のARCの負け分を少しでも取り返そうという気持ちで臨むこととしました。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年9月10日
先週のARCの負け分を少しでも取り戻すべく、頑張ります✊
ユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268) - AtCoder https://t.co/x81juX4Txu
今回の結果
で、今回は、なんと3完で終了という体たらく。。
パフォーマンスは、なんとか緑を超えたところということで、先週日曜に続いてレートは暴落ということになりましたとさ。
出直してきます😭😭
— devgenjin77 (@devgenjin77) 2022年9月10日
devgenjin77さんのユニークビジョンプログラミングコンテスト2022 夏(AtCoder Beginner Contest 268)での成績:2700位
パフォーマンス:865相当
レーティング:1139→1114 (-25) :(#AtCoder #ユニークビジョンプログラミングコンテスト2022夏(ABC268) https://t.co/Ry6fOgsjV2
振り返り
AとBは簡単すぎでしたが、C以降が難しすぎでした。
A問題
入力のをSetに突っ込んで、サイズを出すだけの問題。
やるだけの実装をして提出。問題なくACが取れました。
1分27秒で1完。比較的早い方のタイム。
提出コード
https://atcoder.jp/contests/abc268/submissions/34726041
B問題
A問題に出てきそうなぐらい簡単な問題。サービス問題か?
Javaだと、文字列の接頭辞判定は、startsWithメソッドを使えば良いので、あとは実装するだけ。
問題なく、一度の提出でACが取れました。
2分46秒で2完。これまでの2完目のタイムで一番早いかも。
提出コード
https://atcoder.jp/contests/abc268/submissions/34728623
C問題
一読して、解法が全く思いつかず。。。B問題まで順調にきたはずが、この問題でだいぶ時間を浪費してしまうことに。
C問題を飛ばしてD問題以降をみてみるかと思ったが、順位表から見ると、後の問題もだいぶヤバそうな感じがするので、とりあえずC問題を解き切ろうと頑張ってみる。
悩んでいても仕方がないので、サンプル3の移動パターンの10ケースを全部計算してみて、答えになるものにどのような傾向があるのかを観ることにする。
すると、の値でグループ化した時に、連続する3要素分の要素数の合計の最大が答えになるのではないかという予想が出てきた。
ということで、上記のとおり実装してみて提出。通るか不安でしたが、なんとか1回の提出でACを取り切ることができました。
49分59秒で3完。2完爆死があるかと思いましたが、なんとか回避することができました。
提出コード
https://atcoder.jp/contests/abc268/submissions/34746130
D問題
最初、問題文を読み解くのが大変だったが、雰囲気的には順列全探索をするやつだとわかった。
しかし単語間の"_"の数を調整して文字列を構築するのが、めちゃくちゃ実装が重くて、限られた時間内ではだいぶ厳しそう。
とりあえず、順列全探索のパートと、"_"の数を最大2個ぐらいまでつなげることができる突貫工事のようなプログラムを作ってみて提出してみるが、これはケースに蹴られてWA。
結局、実装が及ばずで、この時間で時間切れとなりました。
E問題
E - Chinese Restaurant (Three-Star Version)
問題はチラ見したものの、何もわからず。
F問題
問題すら見れておりません。
G問題
問題すら見れておりません。
Ex問題
問題すら見れておりません。
これまでの実績
この2回の連敗で、だいぶレートを落としてしまいました。
総括
今回と前回のコンテストで、自分の実力不足を痛感することになりました。
とはいえ、これからやるべきことは、出来なかった部分を見直して、また次へと備えること。また、切り替えて次へ臨むこととします。
ということで、また次回も頑張ります。